使用JSON访问mongodb的嵌入式文档

时间:2016-09-14 01:44:11

标签: json node.js mongodb mongodb-query

问题是:我可以在返回外部文档后使用JSON选择器访问mongodb中的文档的嵌入文档。让我用一个例子来解释这个问题:

假设评论有嵌入文档用户。现在我首先使用代码返回评论文档:

var comments = db.Comments.find();

然后我使用JSON语法返回嵌入的文档,因为mongodb使用JSON对象来存储文档(到目前为止我理解/知道):

var users = comments['Users'];

我知道无法在mongodb中返回嵌入式文档,访问用户的方式是制作单独的用户文档。但是,我仍然只是好奇地问这个逻辑是否有效,因为它会帮助我用mongodb编写node.js。

希望每个人都理解这个问题。

注意:这个例子只是虚构的,所以请不要评论这个例子是对还是错,基本目的只是为了让我的问题易于理解。

1 个答案:

答案 0 :(得分:1)

假设评论的结构:

  {
    _id,
    Users: [
      {
        name
      }
    ]
  }

你可以通过聚合做你想做的事:

  db.Comments.aggregate([
    {$unwind:{path:'$Users'}},
    {$project:{'name':'$Users.name', _id: 0}}
  ])