我的收藏样本:
[
{
_id: "5e13asdfasuh",
animal: "dog",
gender: "male",
age: 5,
name: "mark",
breed: "gold"
},
{
_id: "5e13asdfasuhss",
animal: "dog",
name: "snow",
age: "2",
breed: "husky"
}
]
哪个文档具有“性别”列需要添加具有值的字段gender_count:1
输出:
[
{
"_id": "5e13asdfasuh",
"age": 5,
"animal": "dog",
"breed": "gold",
"gender": "male",
"gender_count": 1,
"name": "mark"
},
{
"_id": "5e13asdfasuhss",
"age": "2",
"animal": "dog",
"breed": "husky",
"name": "snow"
}
]
您可以尝试以下查询:
db.collection.aggregate([
{
$addFields: {
gender_count: {
/** Check field 'gender' exists,
* So if gender field doesn't exists then condition becomes false (As we're returning false),
* ultimately as we're using '$$REMOVE' then gender_count will not be added to that doc */
$cond: [
{
"$ifNull": [
"$gender",
false
]
},
1,
"$$REMOVE"
]
}
}
}
])
测试: MongoDB-操场
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句