Mongodb 获取groovy类的所有动态字段
在我的应用程序中,我需要使用类的动态字段。 对象从json请求持久化到MongoDB(也是动态的):Mongodb 获取groovy类的所有动态字段,mongodb,grails,dynamic,groovy,field,Mongodb,Grails,Dynamic,Groovy,Field,在我的应用程序中,我需要使用类的动态字段。 对象从json请求持久化到MongoDB(也是动态的): Object obj = new Object() def objectData = request.JSON.object for(item in objectData) { obj[item.key] = item.value } obj.save(flush: true) 但是,当我试图从Mongo取回objct时,这种方式: List<Object> objects
Object obj = new Object()
def objectData = request.JSON.object
for(item in objectData) {
obj[item.key] = item.value
}
obj.save(flush: true)
但是,当我试图从Mongo取回objct时,这种方式:
List<Object> objects = Object.list()
def objList = new ArrayList();
def filtered = ['class', 'active', 'metaClass', 'version']
for(obj in objects) {
objList.add(obj.properties)
}
当然,我只能获取每个对象的“dbo”,并手动过滤我不需要的内容,但它看起来是错误的。获取对象的所有属性(包括动态属性)的正确方法是什么
对象类的定义:
package com.iibs.mongo
class Object {
String id
static mapWith = "mongo"
static constraints = {
}
}
谢谢,是否:
obj.getClass().declaredFields.findAll{!it.synthetic}
帮助?如果你有一个实际的类,但它看起来像是在把值塞进一个对象?就是这样,没有声明:)你声明过一个名为对象的类吗?
?我声明过,但没有字段。调用它对象
会给你带来各种痛苦。。。你能发布它的定义吗?
package com.iibs.mongo
class Object {
String id
static mapWith = "mongo"
static constraints = {
}
}