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

Làm cách nào để viết truy vấn cập nhật trong mongodb cho mảng lồng nhau sâu?

Hãy thử positional $ trong bản cập nhật của bạn hoạt động như một trình giữ chỗ cho phần tử đầu tiên khớp với tài liệu truy vấn và khi bạn sử dụng nó, hãy đảm bảo các thẻ cards trường mảng phải xuất hiện như một phần của tài liệu truy vấn. Trong trường hợp của bạn, bạn muốn thêm thẻ cards tài liệu vào 'cards' mảng, nhưng chỉ khi cardId không tồn tại:

var query = {        
    "cardInfo.cards.cardId": { "$nin": ["somecardid"] }
};
var update = {        
    "$push": {
        "cardInfo": { "customerId": "25934285649875" },
        "cardInfo.$.cards": {
            cardId: "somecardid",
            cardType: "type",
            createdAt: new Date().toISOString(),
            isActive: true
        }
    }
};

Customer.update(query, update, function (err, result) { ... }); 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose findOne tài liệu được nhúng bởi _id

  2. phương pháp hay nhất cho danh mục lồng nhau trong Mongo và Meteor

  3. Cách quản lý cơ sở dữ liệu và bộ sưu tập trong MongoDB

  4. Mongo Truy vấn một trường lồng nhau trong một mảng.

  5. MongoDb Spring tìm trong đối tượng lồng nhau