MongoDB: Comprobando si la matriz anidada contiene una submatriz

Tengo un caso de uso donde la base de datos se modela así:

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

Ahora, tengo una consulta que me gustaría consultar el esquema de la siguiente manera:

Me darían una lista de identificadores y valores. Por ejemplo: la lista dada es la siguiente:

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

En resumen, la ID debe coincidir y los comentarios deben ser una sub-matriz de la matriz de comentarios para esa identificación y también, todas las condiciones especificadas en la matriz deben coincidir, por lo que debe ser una condición AND en todas las condiciones proporcionadas.

Pude llegar a esta consulta, pero coincide con todos los elementos en la matriz de comentarios, quiero que la identificación coincida exactamente y los comentarios sean una submatriz.

Para hacer coincidir todos los elementos en la matriz de comentarios:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta