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

pullAll trong khi xóa các đối tượng được nhúng

$pullAll toán tử thực sự là một phím tắt "trường hợp đặc biệt" hoạt động trên các mảng chỉ có các giá trị trong đó, chẳng hạn như trường hợp thay thế của bạn.

Điều bạn thực sự muốn là $pull và đối số của nó là một "truy vấn" cho các tài liệu có trong mảng. Vì vậy, danh sách của bạn sau đó trở thành đối số cho $in :

db.bios.update(
   { "name.first": "James" },
   { 
      "$pull": { 
         "awards": { "by": { "$in": ["Stockholm", "Hollywood"] } } 
      } 
   }
)

Vì vậy, trong ví dụ khác của bạn, một dạng dài hơn của $pullAll sẽ là:

db.bios.update(
   { "name.first": "James" },
   {
       "$pull": { "contribs": { "$in": ["Java","UNIX"] } }
   }
)

Điều tương tự nhưng chỉ là hình thức "tốc ký".




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn MongoDB cho tài liệu cũ hơn 30 giây

  2. Tại sao tôi nhận được cảnh báo không dùng nữa này ?! MongoDB

  3. Kết nối với máy chủ mongodb từ bộ chứa docker

  4. Tải xuống tệp không hoạt động với nodejs gridfs

  5. Sử dụng C # MongoDB LINQ với dấu phân biệt