【发布时间】:2017-05-19 17:06:37
【问题描述】:
我有三个集合 A、B 和 C。
我想用嵌套填充
A.findById(id).populate({
path: 'B_docs',
populate: {
path: 'C_doc'
}
})
问题是C集合中的文档可能不存在,所以我最终得到了来自A的文档和来自B的多个文档,但是B中的一些文档有参考C 中的文档可能已被删除。
如何确保我只包含那些引用的C 文档仍然存在的B 文档?
我当然可以使用
a_doc.b_docs.filter(b_doc => !!b.c_doc)
但我想直接使用 Mongoose 删除这些文档(因为它们在我的上下文中无效)。
【问题讨论】:
标签: javascript node.js mongodb mongoose mongoose-populate