Nếu trường tên không có ở đó, hãy thử:
db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})
$ set
sẽ thêm một trường mới với giá trị được chỉ định, với điều kiện là trường mới không vi phạm ràng buộc kiểu.
Nếu nó ở đó và null hoặc không có bộ giá trị:
db.collection.update({"name": null}, {"$set": {"name": "test"}})
Bạn có thể kết hợp cả hai truy vấn bằng cách sử dụng $ hoặc
như
db.collection.update(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)
Đối với MongoDB 3.2 trở lên, hãy sử dụng updateMany ()
cập nhật nhiều tài liệu trong bộ sưu tập dựa trên bộ lọc:
db.collection.updateMany(
{
"$or": [
{ "name": { "$exists": false } },
{ "name": null }
]
},
{ "$set": { "name": "test" } }
)