javascript - 读取 mongoose 中没有子字段属性的文档子字段会返回一个空对象

标签 javascript node.js mongodb mongoose

我的集合测试架构嵌套如下:

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/

相关文章:

javascript - 事务无法回滚,因为它已经完成

mongodb - 蒙戈聚合 : Sum Count Field of Duplicate Array Value Field

Java 与 MongoDB 连接问题 - 出现 SQL 异常

javascript - Highstock x轴缩放

javascript - 如何检查asp中的哪些项目:Treeview are checked client side

javascript - 通过值为数组的键组合两个对象

javascript - 在jade模板中显示mongodb集合

javascript - 多次替换div的内容

node.js - 无法通过Docker-compose连接到MongoDB

node.js - 从本地数据存储检索时未定义实体键和数据属性