inline-block
我试图查询所有文件..在这个文件中,文件中的某些东西会有照片,如果存在的话,想把具有属性认可的照片等于真......但我必须携带所有文件,那些谁有照片,而那些不..我试图使用聚合,项目,放松,但我还没有得到任何好结果:( 我需要的结果如下:
[
{
"_id": "5a2ca2227c42ad67682731d4",
"name": "name",
"photos": [
{
"_id": "5a2ca22b7c42ad67682731d5",
"approved": false,
"text":"good"
},
{
"_id": "5a2ca72b0a1aa173aaae07da",
"approved": true,
"text":"bad"
}
]
},
{
"_id": "4v2ca2227cad676821731d4",
"name": "name"
}
]
谢谢你!
答案 0 :(得分:1)
您可能需要$unwind
全部包括不存在的照片数组才能获得结果
db.ph.aggregate(
[
{
$unwind:
{
path: "$photos",
preserveNullAndEmptyArrays: true
}
},
{
$match : {"photos.approved" : {$ne : true} }
}
]
)
结果
{
"_id" : "5a2ca2227c42ad67682731d4",
"name" : "name",
"photos" : {
"_id" : "5a2ca22b7c42ad67682731d5",
"approved" : false,
"text" : "good"
}
}
{ "_id" : "4v2ca2227cad676821731d4", "name" : "name" }
>