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

Nâng cấp trong Mongo DB bằng trình điều khiển C # chính thức

Phiên bản 2 của trình điều khiển MongoDB C # yêu cầu thiết lập IsUpsert cờ trong các lệnh ghi. Ví dụ này sẽ nâng cấp toàn bộ tài liệu.

var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
var result = await collection.ReplaceOneAsync(
                filter: new BsonDocument("_id", 123),
                options: new ReplaceOptions { IsUpsert = true },
                replacement: newDoc);

Phiên bản 1 của trình điều khiển MongoDB C # thực hiện logic này trong Save yêu cầu.

var newDoc = new BsonDocument { { "_id", 123 }, { "someKey", "someValue" } };
collection.Save(newDoc);

Phương pháp Lưu là sự kết hợp của Chèn và Cập nhật. Nếu thành viên Id của tài liệu có một giá trị, thì nó được giả định là một tài liệu hiện có và Lưu gọi Cập nhật trên tài liệu (đặt cờ Upsert chỉ trong trường hợp nó thực sự là một tài liệu mới). Nếu không, nó được giả định là một tài liệu mới và Lưu lệnh gọi Chèn sau lần đầu tiên gán một giá trị duy nhất mới được tạo cho thành viên Id.

Tham khảo:http://mongodb.github.io/mongo-csharp-driver/1.11/driver/#save-tdocument-method

Lưu ý:Tuy nhiên, điều này yêu cầu ánh xạ thích hợp của trường Id. Thông tin thêm về điều đó tại đây:http://mongodb.github.io/mongo-csharp-driver/1.11/serialization/#identizing-the-id-field-or-property



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor:sự khác biệt giữa tên cho bộ sưu tập, biến, ấn phẩm và đăng ký?

  2. MongoDB $ radiansToDegrees

  3. Thay đổi kiểu _id trong MongoDB thành số nguyên có tệ không?

  4. Ba điểm A của Bảo mật MongoDB - Xác thực, Ủy quyền &Kiểm toán

  5. Tích hợp ClusterControl với SNMP:Phần thứ hai