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

Cách buộc MongoDB pullAll bỏ qua thứ tự tài liệu

$pullAll toán tử thực sự là một "trường hợp đặc biệt" chủ yếu dành cho các phần tử mảng "vô hướng" duy nhất chứ không phải cho các tài liệu con theo cách bạn đang sử dụng.

Thay vào đó, hãy sử dụng $pull sẽ kiểm tra từng phần tử và sử dụng $or điều kiện cho danh sách tài liệu:

db.streams.update(
    { "user": "user_name" },
    { "$pull": { "streams": { "$or": streamsB } }}
)

Bằng cách đó, không quan trọng thứ tự các trường nằm trong hoặc thực sự tìm kiếm "đối sánh chính xác" như $pullAll hiện tại hoạt động thực sự đang hoạt động.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm kiếm Mongo Db theo trường được lập chỉ mục

  2. đặt trường là trống cho đối tượng mongo bằng cách sử dụng mongoose

  3. Có gì mới trong MongoDB 4.2

  4. Lưu trữ và truy vấn JSON từ cơ sở dữ liệu

  5. Cập nhật nhiều tài liệu và trả lại tất cả các tài liệu đã cập nhật