我有一个这样的文件。
{
"_id" : ObjectId("5c6cc08a568f4cdf7870b3a6"),
"phone" : [
{
"cell1" : "878-1866-6486",
"cell2" : "555-644-4845"
},
{
"home1" : "845-674-6475",
"home2" : "545-946-7545"
}
]
}
如何仅显示phone.cell1值。 例如
{ "_id": ObjectId("5c6cc08a568f4cdf7870b3a6"),
phone: {cell1:"878-1866-6486"}
}
答案
db.collect.aggregate([{'$project':{
'phone':{'$arrayElemAt':['$phone',0]}}},
{'$project':{'phone.cell1':1}}])
输出使用聚合,以下是输出
{
"_id" : ObjectId("5c6cc08a568f4cdf7870b3a6"),
"phone" : {
"cell1" : "878-166-6486"
}
}