Como encontrar o nome do campo MongoDB em profundidade arbitrária

Importei alguns dados XML desleixados para um banco de dados Mongo. Cada documento aninhou sub-documentos a uma profundidade de 5 a 10. Gostaria de encontrar () documentos que tenham um valor específico de um campo específico, onde o campo possa aparecer em qualquer profundidade nos sub-documentos (e pode aparecer várias vezes).

Atualmente, estou puxando cada documento para o Python e pesquisando nesse dicionário, mas seria bom se eu pudesse indicar um protótipo de filtro no qual o banco de dados retornaria apenas documentos que tenham um valor específico do nome do campo em algum lugar do conteúdo.

Aqui está um exemplo de documento:

{
    "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!"
            }
        }
   }
}

Portanto, gostaria de encontrar documentos que tenham um campo "encontre-isto" e (se possível) para poder encontrar documentos que tenham um valor específico de um campo "encontre-este".

questionAnswers(2)

yourAnswerToTheQuestion