0

I have document like this one:

{
 MyField1: 'A'
 MyArray: [
  {
   MyArrayField1 = 'C';
   MyArrayField2 = 25;
  },
  {
   MyArrayField1 = 'A';
   MyArrayField2 = 26;
  }
]

How can I select all documents that contain in MyArray an object with MyArrayField1 = MyField1 AND MyArrayField2 = 26; ?

Robert Seaman
  • 2,432
  • 15
  • 18
zeus
  • 12,173
  • 9
  • 63
  • 184

1 Answers1

1

As per: MongoDb query condition on comparing 2 fields

You can use expr like so:

db.find({$and: [{$expr: {$eq: ["$MyArray.MyArrayField1", "$MyField1"]}}, {"MyArray.MyArrayField2": 26}]})
Robert Seaman
  • 2,432
  • 15
  • 18