mongodb プラグインを使用した grails アプリケーションがあります。
すべてのドメイン オブジェクトは次のとおりです。
class Person {
ObjectId id
String name
}
と
class Like {
ObjectId id
Person from
Person to
Date createdAt
}
私のコントローラは、いくつかのLike
IDによる完全なデータを提供する必要があります:
class MyController {
def like() {
def like = Like.findById(new ObjectId("someIdHere"));
render(like as grails.converters.JSON)
}
}
次のような完全な JSON オブジェクトを受け取りたい:
{
"class":"Like",
"id":{
"class":"org.bson.types.ObjectId",
"inc":1483542456,
"machine":805594765,
"new":false,
"time":1340363115000,
"timeSecond":1340363115
},
"createdAt":"2012-06-22T11:05:15Z",
"from":{
"class":"Person",
"id":{ ... },
"name":"Some name here"
},
"to":{
"class":"Person",
"id":{ ... },
"name":"Some name here"
}
}
しかし、私はオブジェクトの第一レベルのプロパティを受け取りました:
{
"class":"Like",
"id":{
"class":"org.bson.types.ObjectId",
"inc":1483542456,
"machine":805594765,
"new":false,
"time":1340363115000,
"timeSecond":1340363115
},
"createdAt":"2012-06-22T11:05:15Z",
"from":{
"class":"Person",
"id":"4fd31d453004dc0f010aca51"
},
"to":{
"class":"Person",
"id":"4fd31d463004dc0f010aca89"
}
}
私の質問は: mongo db (DBObject) データオブジェクトの完全な (参照されたオブジェクトを含む) JSON を構築する方法はありますか? エスケープされたフィールド 'class'、metaClass'、および 'dbo' を使用した JSONBuiled を使用して、このソリューションを見つけました。しかし、Expandoクラスでできると思いますが、正しい方法が見つかりません...
とにかくありがとう、マクシム