MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menulis kueri pembaruan di mongodb untuk array yang sangat bersarang?

Coba positional $ operator di pembaruan Anda yang bertindak sebagai pengganti untuk elemen pertama yang cocok dengan dokumen kueri, dan ketika Anda menggunakannya pastikan cards bidang array harus muncul sebagai bagian dari dokumen kueri. Dalam kasus Anda, Anda ingin menambahkan cards dokumen ke dalam 'cards' array, tetapi hanya jika cardId tidak ada:

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. Bagaimana cara mengatur database MongoDB di Heroku dengan MongoLab?

  2. Bagaimana cara mendorong notifikasi dengan angular.js?

  3. Cara mengonversi BSON ke JSON dengan format tanggal yang dapat dibaca manusia

  4. perbedaan mongodb remove() vs findOneAndDelete() vs deleteOne()

  5. Mongoid atau MongoMapper?