, Вы ожидаете, что операторы будут работать определенным образом, чего они не могут делать. Пожалуйста, прочитайте о них.

я есть случай, когда база данных моделируется следующим образом:

name: XYZ
gradeCards: [{
  id: 1234, // id of the report card
  comments: ['GOOD','NICE','WOW']
}, {
  id: 2345,
  comments: ['GOOD','NICE TRY']
}]

Теперь у меня есть запрос, который я хотел бы запросить схему следующим образом:

Мне бы дали список идентификаторов и значений. Например: данный список выглядит следующим образом:

[{
  id: 1234,
  comments: ['GOOD','NICE']
},{
  id: 2345,
  comments: ['GOOD']
}]

Короче говоря, идентификатор должен совпадать, и комментарии должны быть подмассивом массива комментариев для этого идентификатора, а также все условия, указанные в массиве, должны совпадать, поэтому это должно быть условие И для всех предоставленных условий.

Мне удалось добраться до этого запроса, но он соответствует всем элементам массива комментариев, я хочу, чтобы идентификатор был точно совпадает, а комментарии должны быть вложенным массивом.

Для сопоставления всех элементов в массиве комментариев:

db.getCollection('user').find({arr:{
    $all: [{
        id:1234,
        comments:['GOOD','NICE','WOW']
    },{
        id:2345,
        comments:['GOOD','NICE TRY']
    }]
 }})

Ответы на вопрос(1)

Ваш ответ на вопрос