Ако полето за име не е там, опитайте:
db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})
$set
ще добави ново поле с посочената стойност, при условие че новото поле не нарушава ограничение на типа.
Ако е там и е null или няма зададена стойност:
db.collection.update({"name": null}, {"$set": {"name": "test"}})
Можете да комбинирате и двете заявки, като използвате $orкод>
като
db.collection.update(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)
За MongoDB 3.2 и по-нова версия използвайте updateMany()
който актуализира множество документи в колекцията въз основа на филтъра:
db.collection.updateMany(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)