Jika kolom nama tidak ada coba:
db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})
$set
akan menambahkan bidang baru dengan nilai yang ditentukan, asalkan bidang baru tersebut tidak melanggar batasan jenis.
Jika ada dan null, atau tidak memiliki nilai yang ditetapkan:
db.collection.update({"name": null}, {"$set": {"name": "test"}})
Anda dapat menggabungkan kedua kueri menggunakan $or
sebagai
db.collection.update(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)
Untuk MongoDB 3.2 dan yang lebih baru, gunakan updateMany()
yang memperbarui banyak dokumen dalam koleksi berdasarkan filter:
db.collection.updateMany(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)