如何获取嵌入文档中的单个字段? [英] How to get individual fields in embedded documents?
本文介绍了如何获取嵌入文档中的单个字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个像下面这样的文档
Lets say i have a document like following
{
"_id" : 1,
"name" : "sue",
"age" : 19,
"type" : 1,
"status" : "P",
"favorites" : {
"artist" : "Picasso",
"food" : "pizza"
},
"finished" : [
17,
3
],
"badges" : [
"blue",
"black"
],
"points" : [
{
"points" : 85,
"bonus" : 20
},
{
"points" : 85,
"bonus" : 10
}
]
}
当我运行像 db.users.find( { 收藏夹:{ 艺术家:毕加索",食物:比萨"}},{最喜欢的食物":1 } ).pretty()代码>
我得到以下结果
{ "_id" : 1, "favorites" : { "food" : "pizza" } }
是否可以只获取 food
字段,如
Is it possible to get only food
field like
{食物":披萨"}
没有收藏夹
键?
推荐答案
您可以通过 $project
you can achieve this using aggregation with $project
db.users.aggregate([
{
$match:{
favorites:{
artist:"Picasso",
food:"pizza"
}
}
},
{
$project:{
_id:0,
food:"$favorites.food"
}
}
])
这篇关于如何获取嵌入文档中的单个字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文