अपडेट किया गया
यह एकत्रीकरण skill_score
. का मान निर्धारित करेगा करने के लिए 0
अगर _कौशल
मौजूद नहीं है, तो $redact<का उपयोग करें /कोड>
skill_score
. वाले उप-दस्तावेज़ को हटाने के लिए 0
. के बराबर है :
db.project_if.aggregate([
{
$unwind: {
path: '$_skills',
preserveNullAndEmptyArrays: true,
}
},
{
$project: {
_skills: {
label: '$_skills',
skill_score: {
$cond: {
if: {
$eq: ['$_skills', undefined]
},
then: 0,
else: 1,
}
}
}
}
},
{
$redact: {
$cond: {
if: { $eq: [ "$skill_score", 0 ] },
then: '$$PRUNE',
else: '$$DESCEND'
}
}
}
]);
परिणाम इस प्रकार होगा:
[
{ "_id" : '', "_skills" : { "label" : "skill1", "skill_score" : 1 } },
{ "_id" : '', "_skills" : { "label" : "skill2", "skill_score" : 1 } },
{ "_id" : '' },
]