MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да напиша заявка за актуализиране в mongodb за дълбоко вложен масив?

Опитайте positional $ оператор във вашата актуализация, който действа като контейнер за първия елемент, който съответства на документа на заявката, и когато го използвате, се уверете, че cards полето за масив трябва да се появи като част от документа на заявката. Във вашия случай бихте искали да добавите card документ в 'cards' масив, но само ако cardId не съществува:

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. mongodb javascript от страна на сървъра всъщност е клиент?

  2. Как да включа условно документ в mongo?

  3. Как да запазите JSON файл с помощта на GridFs

  4. TypeError:callback.apply не е функция след allowDiskUse

  5. Множество бази данни в MongoDB за SaaS