MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongo cập nhật tất cả các bản ghi có trường rỗng

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" } }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Loại bỏ các loại đa hình với MongoDB C # Driver

  2. Tại sao MongoDB không phản hồi trong quá trình kiểm tra tải?

  3. Api web lõi Asp.net với lỗi mongodb 500

  4. Cách đặt tên @TextIndex trong một thực thể với Spring-Data-MongoDB

  5. mongoose có hỗ trợ các trường ảo được chọn như SQL không