【问题标题】:How could i project a subdocument? [duplicate]我怎么能投影一个子文档? [复制]
【发布时间】:2017-12-05 01:12:53
【问题描述】:

我有以下结构:

{
    "title" : "Parent",
    "child" :
    {
        "title" : "Child"
    }
}

// I want to get only:

"child" :
{
    "title" : "Child"
}

我只想返回子文档。我正在尝试使用聚合框架,但我在 Mongo 中很新,我在这里迷路了。

有什么帮助吗? 提前致谢。

【问题讨论】:

  • 一旦您决定“嵌入”数据,最好接受您已经这样做的事实。如果您确实经常“单独”需要这些数据,那么您实际上应该将这些项目放在他们自己的集合中。因此,虽然您可以使用聚合方法来做到这一点,但在性能方面确实不是很好。您要么想要数据“在一起”,要么不想要。如果没有,请改用另一个集合。

标签: mongodb aggregation-framework


【解决方案1】:

db.collectionname.find({}, {child: 1, _id: 0})

只要您的集合中只有一个文档,它将返回您想要的内容。如果要按标题选择特定文档的子文档,可以这样做:

db.collectionname.find({title: "Parent"}, {child: 1, _id: 0})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多