अगर नाम फ़ील्ड नहीं है तो कोशिश करें:
db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})
$set
निर्दिष्ट मान के साथ एक नया फ़ील्ड जोड़ देगा, बशर्ते कि नया फ़ील्ड किसी प्रकार की बाधा का उल्लंघन न करे।
यदि यह वहां है और शून्य है, या कोई मान सेट नहीं है:
db.collection.update({"name": null}, {"$set": {"name": "test"}})
आप $orका उपयोग करके दोनों प्रश्नों को जोड़ सकते हैं कोड>
के रूप में
db.collection.update(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)
MongoDB 3.2 और इसके बाद के संस्करण के लिए, <का उपयोग करें। मजबूत>अपडेटमैनी ()
जो फ़िल्टर के आधार पर संग्रह के भीतर कई दस्तावेज़ों को अपडेट करता है:
db.collection.updateMany(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)