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

Sintaks MongoDB $pull

"Array kedua" Anda memiliki struktur elemen bersarang, jadi Anda harus mengidentifikasi elemen luar yang ingin Anda cocokkan dalam kueri Anda saat menggunakan $ posisi operator dalam pembaruan. Anda pada dasarnya membutuhkan sesuatu seperti ini:

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

Jadi sebenarnya ada "dua" nilai id yang perlu Anda sampaikan dengan permintaan Anda selain id dokumen umum. Meskipun ini bersarang tidak apa-apa karena Anda hanya mencocokkan pada tingkat "luar" dan hanya pada satu larik. Jika Anda mencoba mencocokkan posisi pada lebih dari satu larik, maka ini tidak mungkin dilakukan dengan operator posisi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat MongoDB ObjectID dari tanggal di masa lalu menggunakan driver PHP

  2. @EnableMongoAuditing untuk MongoDB di Cloud Foundry / mongolab

  3. Tidak dapat mengembalikan data objek Yii2 sebagai Json

  4. Sisipkan Array di Dokumen yang ada

  5. Hitung Array Tertanam Luar dan Dalam dalam satu kueri