Cómo encontrar el nombre del campo MongoDB a una profundidad arbitraria

Importé algún tipo de datos XML descuidados en una base de datos Mongo. Cada documento tiene subdocumentos anidados a una profundidad de alrededor de 5-10. Me gustaría encontrar () documentos que tengan un valor particular de un campo en particular, donde el campo puede aparecer a cualquier profundidad en los subdocumentos (y puede aparecer varias veces).

Actualmente estoy colocando cada documento en Python y luego buscando ese diccionario, pero sería bueno si pudiera establecer un prototipo de filtro donde la base de datos solo devolvería documentos que tienen un valor particular del nombre del campo en algún lugar de su contenido.

Aquí hay un documento de ejemplo:

{
    "foo": 1,
    "bar": 2,
    "find-this": "Yes!",
    "stuff": {
        "baz": 3,
        "gobble": [
            "wibble",
            "wobble",
            {
                "all-fall-down": 4,
                "find-this": "please find me"
            }                
        ],
        "plugh": {
            "plove": {
                "find-this": "Here too!"
            }
        }
   }
}

Por lo tanto, me gustaría encontrar documentos que tengan un campo "buscar-esto" y (si es posible) poder encontrar documentos que tengan un valor particular de un campo "encontrar-esto".

Respuestas a la pregunta(2)

Su respuesta a la pregunta