我的集合测试架构嵌套如下:
Test: {
name: String,
subField: {
name: String,
ref: {type: ObjectId, ref: "Test"}
}
}
我做了一个类似的发现:
dbs.Test.find({})exec().then(function(collection){ ...
它返回所有文档。然后我访问一个有名称但没有子字段名称的字段。
var field = collection[0];
field.name // returns name
field.subField // console.log is an empty object
它在控制台中返回一个空对象。我认为它将为空/未定义。如果 field.subField 没有子字段名称,那么它实际返回的是什么?
最佳答案
您必须使用populate Mongoose 的方法来获取引用的字段。
dbs.Test.find({}).populate('subField').exec().then(function(collection){ ...
关于javascript - 读取 mongoose 中没有子字段属性的文档子字段会返回一个空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43791711/