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

Kéo và addtoset cùng lúc với mongo

Lỗi có khá nhiều ý nghĩa vì bạn không thể hành động trên hai thứ của cùng một "đường dẫn" trong cùng một thao tác cập nhật. Hai toán tử bạn đang sử dụng không xử lý tuần tự như bạn nghĩ.

Tuy nhiên, bạn có thể thực hiện việc này với "tuần tự" như bạn có thể thực hiện với API hoạt động "hàng loạt" hoặc dạng cập nhật "hàng loạt" khác. Tất nhiên là có lý do và ngược lại:

var bulk = db.coll.initializeOrderedBulkOp();
bulk.find({ "tags": 1 }).updateOne({ "$addToSet": { "tags":  2 } });
bulk.find({ "tags": 1 }).updateOne({ "$pull": { "tags": 1 } });

bulk.execute();

Không phải là một đảm bảo rằng không có gì khác sẽ cố gắng sửa đổi, nhưng nó gần như bạn sẽ nhận được hiện tại.

Đồng thời xem lệnh "cập nhật" thô với nhiều tài liệu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn phân cấp với Mongo bằng cách sử dụng $ graphLookup

  2. Chọn Nhóm theo số lượng và số lượng riêng biệt trong cùng một truy vấn mongodb

  3. Làm cách nào để cho phép dữ liệu JSON dạng tự do trong tài liệu Mongoose?

  4. Chèn hàng loạt Mongoose (mongodb)?

  5. Cách hideIndex () hoạt động trong MongoDB