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

Cách kiểm tra xem $ addToSet của Mongo có phải là bản sao hay không

Ít nhất trong shell, bạn có thể phân biệt tài liệu đã được sửa đổi hay chưa (xem nModified ).

> db.test4.update({_id:2}, {$addToSet: {tags: "xyz" }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.test4.update({_id:2}, {$addToSet: {tags: "xyz" }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })

Cập nhật cho Node

Khi bạn sử dụng collection.update(criteria, update[[, options], callback]); bạn có thể truy xuất số lượng bản ghi đã được sửa đổi.

Từ nút tài liệu

Một bản cập nhật khác

Có vẻ như ít nhất trong phiên bản 1.4.3, trình điều khiển Mongo Node bản địa không hoạt động như được ghi lại. Có thể khắc phục bằng cách sử dụng API hàng loạt (được giới thiệu trong Mongo 2.6):

var col = db.collection('test');
// Initialize the Ordered Batch
var batch = col.initializeOrderedBulkOp();
batch.find({a: 2}).upsert().updateOne({"$addToSet": {"tags": "newTag"}});
// Execute the operations
batch.execute(function(err, result) {
  if (err) throw err;
  console.log("nUpserted: ", result.nUpserted); 
  console.log("nInserted: ", result.nInserted); 
  console.log("nModified: ", result.nModified); // <- will tell if a value was added or not
  db.close();
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. GridFSDBFile trong bản phát hành Spring boot 2.0.1

  2. Lưu thuộc tính mảng trên lược đồ Mongoose

  3. Mongo $ in với chỉ mục ghép

  4. Các tính năng bảo mật và quản lý sao lưu mới cho MySQL &PostgreSQL:ClusterControl Release 1.6.2

  5. Sự khác biệt giữa việc trang trí một thuộc tính trong C # với BsonRepresentation (BsonType.ObjectId) so với BsonId và ObjectId