Jeśli nie ma pola nazwy, spróbuj:
db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})
$set
doda nowe pole o określonej wartości, pod warunkiem, że nowe pole nie narusza ograniczenia typu.
Jeśli jest tam i null lub nie ma ustawionej wartości:
db.collection.update({"name": null}, {"$set": {"name": "test"}})
Możesz połączyć oba zapytania za pomocą $or
jako
db.collection.update(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)
W przypadku MongoDB 3.2 i nowszych użyj updateMany()
który aktualizuje wiele dokumentów w kolekcji na podstawie filtra:
db.collection.updateMany(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)