0
我有貓鼬下面的模式:如何填充對象數組mongose
var documentsSchema = new Schema({
"document" : {
"_project" : {
type : Schema.ObjectId,
ref : 'Projects'
},
"_addedBy" : {
type : Schema.ObjectId,
ref : 'Users'
},
"_associateUsers" : [{
type : Schema.ObjectId,
ref : 'Users'
}],
"_codes" : [{
type : Schema.ObjectId,
ref : 'Codes'
}],
"paragraphTitle" : String,
"paragraphText" : String,
"memos" : [
{
"_addedBy" : {
type: Schema.Types.ObjectId,
ref: 'Users'
},
"memoData" : String
}
]}});
與代碼:
var codesSchema = new Schema({
"code" : {
"_addedBy" : {
type : Schema.ObjectId,
ref : 'Users'
},
"codeText" : String,
"codeWeight" : Number
}});
我需要填充_codes.codeText(或代碼字段)數組中的所有元素,但看起來像我沒有正確地做。
Documents.find({
"document._project": element._id
}).
populate('document._codes.code','codeText').
exec(function (err, result) { .... }
這個和各種帶有填充參數的嘗試要麼不填充字段要麼沒有返回任何數據。
我在做什麼錯?
我有這些,但沒有把它們粘貼到一個問題: VAR代碼= mongoose.model( '代碼',codesSchema, '碼'); 關於PS,我正在爲模板引擎做這件事,但是在開始時我並沒有意識到,我可能會將其添加到數據中,傳遞給渲染,而不是文檔本身。 ('project._addedBy','name.first name.last')。 – 2014-08-28 05:27:54
並且這也工作得很好: Project.find({project._addedBy「:query })。populate('project._addedBy','name.first name.last')。 精益(true).exec(findDocs); – 2014-08-28 05:39:11
你可以試試嗎? :document.find({...})。populate('document._codes')。exec({...}) – rogelio 2014-08-28 05:47:40