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

Querying Subdocument dan Returning Matching Subdocument saja

$in di find query dirancang untuk mengembalikan dokumen daripada sub dokumen. Dalam kasus Anda, mongoDB telah menyediakan kerangka kerja agregasi. Ini akan membantu Anda memfilter sub dokumen.

Untuk mongoDB <=3.0.x

db.collection.aggregate(
  { $project: { Brand: 1}},
  { $unwind: '$Brand'},
  { $match: { "Brand.name" : { $in : ["Reebok", "Adidas"]}}},
  { $group: { _id: '$_id', Brand: {$push : '$Brand' }}}
)

Cara MongoDB 3.2

db.collection.aggregate([
   {
      $project: {
         Brand: {
            $filter: {
               input: "$Brand",
               as: "Brand",
               cond: { "$$Brand.name": { $in : ["Reebok", "Adidas"]}}
            }
         }
      }
   }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb $where kueri untuk mengambil konten sub-dokumen

  2. Musim semi tidak menyimpan objek ke MongoDB dengan benar

  3. Mengatur waktu kedaluwarsa untuk koleksi di mongodb menggunakan luwak

  4. Mongodb dan MAMP

  5. Temukan perbedaan antara 2 dokumen di mongoDB dari mongo shell