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

Luwak menemukan dokumen jika array berisi nilai

Ada beberapa cara untuk mencapai ini. Yang pertama adalah dengan $elemMatch operator:

const docs = await Documents.find({category: { $elemMatch: {$eq: 'yourCategory'} }});
// you may need to convert 'yourCategory' to ObjectId

Yang kedua adalah dengan $in atau $all operator:

const docs = await Documents.find({category: { $in: [yourCategory] }});

atau

const docs = await Documents.find({category: { $all: [yourCategory] }});
// you can give more categories with these two approaches 
//and again you may need to convert yourCategory to ObjectId

$in seperti ATAU dan $all seperti DAN. Untuk detail lebih lanjut, periksa tautan ini:https://docs.mongodb.com /manual/reference/operator/query/all/

Yang ketiga adalah dengan aggregate() fungsi:

const docs = await Documents.aggregate([
    { $unwind: '$category' },
    { $match: { 'category': mongoose.Types.ObjectId(yourCategory) } }
]};

dengan agregat() Anda hanya mendapatkan satu id kategori dalam larik kategori Anda.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb melalui jndi

  2. Menggunakan S3 sebagai database vs. database (mis. MongoDB)

  3. Mongo DB:Kueri untuk dokumen saat ini ditayangkan berdasarkan tanggal mulai dan berakhir

  4. Perlu menemukan nilai bidang yang paling sering muncul secara agregat

  5. Driver Mongo C# - Membangun filter secara dinamis dengan bersarang