我有這個簡單的模型:Grails Mongodb嵌入式文檔?錯誤?
abstract class Info {
ObjectId id
Date dateCreated
Date lastUpdated
}
class Question extends Info {
String title
String content
List<Answer> answers = []
static embedded = ['answers']
}
class Answer {
String content
}
寫這樣一來,答案嵌入問題(沒有ID維持答案)。我想維護ID,dateCreated和lastUpdated字段爲每答案。所以我嘗試以下方法:
class Answer extends Info {
String content
}
當我運行一個簡單的測試案例(保存1個回答一個問題),我得到如下:
> db.question.find()
{ "_id" : ObjectId("4ed81d47e4b0777d795ce3c4"), "answers" : [ { "content" : "its very
cool", "dateCreated" : null, "lastUpdated" : null, "version" : null } ], "content" :
"whats up with mongodb?", "dateCreated" : ISODate("2011-12-02T00:35:19.303Z"),
"lastUpdated" : ISODate("2011-12-02T00:35:19.303Z"), "title" : "first question",
"version" : 0 }
我注意到這裏域dateCreated會和Grails不會自動維護lastUpdate。還加入版本場,但有一個空價值爲好,但有趣的是沒有_id場創建(即使我在信息類中定義ID)。
在第二種情況下,我試試這個:
class Answer {
ObjectId id
String content
}
,我得到下面的輸出:也沒有爲嵌入文檔創建
> db.question.find()
{ "_id" : ObjectId("4ed81c30e4b076cb80ec947d"), "answers" : [ { "content" : "its very
cool" } ], "content" : "whats up with mongodb?", "dateCreated" : ISODate("2011-12-
02T00:30:40.233Z"), "lastUpdated" : ISODate("2011-12-02T00:30:40.233Z"), "title" :
"first question", "version" : 0 }
這一次,ID。這種情況的任何解釋?爲什麼沒有ID財產,爲什麼dateCreated會,LASTUPDATED,並版本是空?這是打算這樣工作,還是一個錯誤?
謝謝
你能發佈一個鏈接到發佈在Grails論壇上的問題主題嗎?你的問題是否得到解決? –
我想知道同樣的事情!你有答案嗎? – genuinefafa