MongoDB提取子文档作为实际文档

时间:2016-06-22 15:37:12

标签: node.js mongodb

我的文档结构如下:

{
    _id: '323423423fsdr2',
    title: 'hey',
    location: 'Someplace',
    draft: {
        title: 'hey im a draft',
        location: 'Someplace',
    }
}

我如何查询mongo以仅获取草稿版本,但是将其返回,就像它是根级文档一样:

db.collection.find(somequery)

返回

{
    title: 'hey im a draft',
    location: 'Someplace'
}

我正在调查聚合框架,但我不确定我将如何开始。如果我能避免在应用程序级别提取文档,那将会很酷。

1 个答案:

答案 0 :(得分:1)

在这种情况下,聚合是唯一的选择,使用$match来传递过滤器 查看更多here

db.collection.aggregate([{
            $project : {
                _id : 0,
                title : "$draft.title",
                location : "$draft.location"
            }
        }
    ])