समस्या new: true
. के साथ थी
यहां एक कार्यशील उदाहरण दिया गया है:
Campaign.findOneAndUpdate({'isEnabled': true, 'clients.contact_status_code': 0}, {
'$set': { 'clients.$.contact_status_code': 1 },
},
{
//new: true <-- this was causing the trouble
projection: {
clients: {
'$elemMatch': {contact_status_code: 0}, // 0 because the old record gets matched
},
},
},
(err, campaign) => {
if (err) {
return res.send(err);
}
res.json(campaign);
}
);
मुझे लगता है, जब new: true
सेट है, मोंगो मेल खाने वाला संदर्भ खो देता है। दुर्भाग्य से, यह दृष्टिकोण पुराना रिकॉर्ड लौटाता है, लेकिन यह अभी भी _id प्राप्त करने के लिए मेरी ज़रूरतों को पूरा करता है।