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

mongodb:chèn nếu không tồn tại

Nghe có vẻ như bạn muốn làm một "upert". MongoDB đã tích hợp sẵn hỗ trợ cho việc này. Chuyển một tham số bổ sung vào lệnh gọi update () của bạn:{upsert:true}. Ví dụ:

key = {'key':'value'}
data = {'key2':'value2', 'key3':'value3'};
coll.update(key, data, upsert=True); #In python upsert must be passed as a keyword argument

Điều này thay thế hoàn toàn khối if-find-else-update của bạn. Nó sẽ chèn nếu khóa không tồn tại và sẽ cập nhật nếu có.

Trước:

{"key":"value", "key2":"Ohai."}

Sau:

{"key":"value", "key2":"value2", "key3":"value3"}

Bạn cũng có thể chỉ định dữ liệu bạn muốn ghi:

data = {"$set":{"key2":"value2"}}

Bây giờ tài liệu đã chọn của bạn sẽ chỉ cập nhật giá trị của "key2" và để nguyên mọi thứ khác.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách giải quyết MongoError:pool bị phá hủy khi kết nối với CosmosDB

  2. Mongodb khớp các ký tự có dấu làm ký tự cơ bản

  3. Tại sao chúng ta cần một 'trọng tài viên' trong việc nhân rộng MongoDB?

  4. Làm cách nào để kết nối với MongoDB Atlas bằng Robomongo?

  5. Kết nối MongoDB từ Ứng dụng dựa trên thiết bị di động hoặc trình duyệt