MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongo DB-Aggregation mit Array von Objekten

Sie können $elemMatch verwenden ganz gut, Sie müssen nur $and einfügen / $or auf höchstem Niveau.

Ihr erstes Beispiel wäre

db.products.find({
  $and: [
    { 
      specification: {
        $elemMatch: { key: 'Name', value: 'value 1' }
      }
    },
    {
      specification: {
        $elemMatch: { key: 'Category', value: { $in: ['value 1', 'value 2'] } }
      }
    },
    { 
      specification: {
        $elemMatch: { key: 'Department', value: 'value 3' }
      }
    }
  ]
})