获取groovy类的所有动态字段

时间:2014-03-10 09:30:21

标签: 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回来时,这样:

List<Object> objects = Object.list()

    def objList = new ArrayList();

    def filtered = ['class', 'active', 'metaClass', 'version']
    for(obj in objects) {
        objList.add(obj.properties)
    }

我得到的是这样的东西:

"objects" : [
{
  "dbo" : {
    "_id" : "531afe54300426462e60c1ce",
    "key2" : "val2",
    "key3" : "hello",
    "version" : 1,
    "key1" : "val1"
  }
}, 
...

粗略的我只能拿走每个物体的“dbo”,过滤掉我不需要的东西,但看起来不对。获取对象的所有属性(包括动态属性)的正确方法是什么?

对象类的定义:

package com.iibs.mongo

class Object {
    String id
    static mapWith = "mongo"
    static constraints = {
    }
}

谢谢,

0 个答案:

没有答案