问题是:我可以在返回外部文档后使用JSON选择器访问mongodb中的文档的嵌入文档。让我用一个例子来解释这个问题:
假设评论有嵌入文档用户。现在我首先使用代码返回评论文档:
var comments = db.Comments.find();
然后我使用JSON语法返回嵌入的文档,因为mongodb使用JSON对象来存储文档(到目前为止我理解/知道):
var users = comments['Users'];
我知道无法在mongodb中返回嵌入式文档,访问用户的方式是制作单独的用户文档。但是,我仍然只是好奇地问这个逻辑是否有效,因为它会帮助我用mongodb编写node.js。
希望每个人都理解这个问题。
注意:这个例子只是虚构的,所以请不要评论这个例子是对还是错,基本目的只是为了让我的问题易于理解。
答案 0 :(得分:1)
假设评论的结构:
{
_id,
Users: [
{
name
}
]
}
你可以通过聚合做你想做的事:
db.Comments.aggregate([
{$unwind:{path:'$Users'}},
{$project:{'name':'$Users.name', _id: 0}}
])