Encuentre documentos con matrices que no contengan un documento con un valor de campo particular en MongoDB

Estoy intentando encontrar todos los documentos que no contienen al menos un documento con un valor de campo específico. Por ejemplo aquí hay una colección de muestra:

{  _id : 1,
  docs : [
        { foo : 1,
          bar : 2},
        { foo : 3,
          bar : 3}
         ]
},
{  _id : 2,
  docs : [
        { foo : 2,
          bar : 2},
        { foo : 3,
          bar : 3}
         ]
}

Quiero encontrar todos los registros donde no haya un documento en el bloque de documentos que no contenga al menos un registro con foo = 1. En el ejemplo anterior, solo se debe devolver el segundo documento.

He intentado lo siguiente, pero solo me dice si hay alguno que no coincide (lo que devuelve el documento 1).

db.collection.find({"docs": { $not: {$elemMatch: {foo: 1 } } } })

ACTUALIZAR: La consulta anterior realmente funciona. Como muchas veces sucede, mis datos estaban equivocados, no mi código.

También he mirado elOperador $ Nin pero los ejemplos solo se muestran cuando la matriz contiene una lista de valores primitivos, no un documento adicional. Cuando he intentado hacer esto con algo como lo siguiente, busca el documento EXACTO en lugar del campo foo que quiero.

db.collection.find({"docs": { $nin: {'foo':1 } } })

¿Hay alguna forma de lograr esto con los operadores básicos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta