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

Cú pháp kéo MongoDB $

"SecondArray" của bạn có cấu trúc phần tử lồng nhau, vì vậy bạn phải xác định phần tử bên ngoài mà bạn muốn đối sánh trong truy vấn của mình khi sử dụng $ vị trí trong bản cập nhật. Về cơ bản bạn cần một cái gì đó như thế này:

bulk.find({ 
    "_id": new mongo.ObjectID(req.session._id), 
    "secondArray._id": "7423" 
}).update({
    "$pull": { 
        "firstArray": { "_id": "153" },
        "secondArray.$.firstArrayIds": 153
    }
});

Vì vậy, trên thực tế, có "hai" giá trị id bạn cần chuyển vào với yêu cầu của mình ngoài id tài liệu chung. Mặc dù điều này được lồng vào nhau, nó không sao vì bạn chỉ khớp ở cấp độ "bên ngoài" và chỉ trên một mảng. Nếu bạn đã cố gắng so khớp vị trí trên nhiều mảng thì điều này không thể thực hiện được với toán tử vị trí.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. arrayFilters trong mongodb

  2. Tìm trong bộ sưu tập / đối tượng - SailsJS và Waterline ORM

  3. Mongotemplate - Truy vấn ObjectId theo toán tử lớn hơn (gt) hoặc nhỏ hơn (lt)

  4. Làm cách nào để sử dụng truy vấn không gian địa lý trong trình điều khiển 2.1 MongoDB C #?

  5. Sắp xếp theo nhiều trường với nhau trong mongodb