在我的应用程序中,我需要使用类的动态字段。 该对象从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 = {
}
}
谢谢,