我的文档结构如下:
{
_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'
}
我正在调查聚合框架,但我不确定我将如何开始。如果我能避免在应用程序级别提取文档,那将会很酷。
答案 0 :(得分:1)
在这种情况下,聚合是唯一的选择,使用$match
来传递过滤器
查看更多here
db.collection.aggregate([{
$project : {
_id : 0,
title : "$draft.title",
location : "$draft.location"
}
}
])