Mongodb 如何获取一个特殊的子文档数组MondoDB

Mongodb 如何获取一个特殊的子文档数组MondoDB,mongodb,mongodb-query,pymongo,Mongodb,Mongodb Query,Pymongo,我有很多这样的文件: { "_id" : "CEsSrYSHTiX", "flag_comentariosdesativados" : false, "lista_img" : [ "118937998_638615533744934_2935884294206630517_n.jpg", "118824457_34864668

我有很多这样的文件:

{
    "_id" : "CEsSrYSHTiX",
    "flag_comentariosdesativados" : false,
    "lista_img" : [ 
        "118937998_638615533744934_2935884294206630517_n.jpg", 
        "118824457_348646689607320_152809910037509273_n.jpg"
    ],
    "campocr" : {
        "118937998_638615533744934_2935884294206630517_n" : {
            "textoextraido1" : "SA ADS\nÉ montagem vídeo que\nmostra Biden dormindo\nem entrevista ao vivo\n",
            "textoextraido2" : "É montagem vídeo que\nmostra Biden dormindo\nem entrevista ao vivo\n",
            "textoextraido3" : "Lupa\nO VERIFICAMOS\nÉ montagem vídeo que\nmostra Biden dormindo\nem entrevista ao vivo\n",
            "opcao" : 3
        },
        "118824457_348646689607320_152809910037509273_n" : {
            "textoextraido1" : "Acesse:\nlupa.news\nCompartilhe PP” Salve para\ncom um amigo mais tarde\n",
            "textoextraido2" : "C ANIS\nlupa.news\nCompartilhe PP” Salve para\ncom um amigo mais tarde\n",
            "textoextraido3" : "E A MTE\nlupa.news\n[E LU K Salve para\ncom um amigo mais tarde\n",
            "opcao" : 1
        }
    }
}
我只想返回campocr字段中值为118937998_638615533744934_2935884294206630517_n

的文档,例如在MongoDB shell中使用:

db.mycollection.find({'campocr.118937998_638615533744934_2935884294206630517_n': {'$exists': true}})
或者,在pymongo中几乎相同:

db.mycollection.find({'campocr.118937998_638615533744934_2935884294206630517_n': {'$exists': True}})

请尝试下面的代码示例作为标准。如果这不起作用,发表评论

确保连接到正确的服务器、端口和数据库;在错误的环境下运行命令很容易,而且

from pymongo import MongoClient

db = MongoClient()['mycollection']

db.posts.insert_one(
{
    "_id" : "CEsSrYSHTiX",
    "flag_comentariosdesativados" : False,
    "lista_img" : [
        "118937998_638615533744934_2935884294206630517_n.jpg",
        "118824457_348646689607320_152809910037509273_n.jpg"
    ],
    "campocr" : {
        "118937998_638615533744934_2935884294206630517_n" : {
            "textoextraido1" : "SA ADS\nÉ montagem vídeo que\nmostra Biden dormindo\nem entrevista ao vivo\n",
            "textoextraido2" : "É montagem vídeo que\nmostra Biden dormindo\nem entrevista ao vivo\n",
            "textoextraido3" : "Lupa\nO VERIFICAMOS\nÉ montagem vídeo que\nmostra Biden dormindo\nem entrevista ao vivo\n",
            "opcao" : 3
        },
        "118824457_348646689607320_152809910037509273_n" : {
            "textoextraido1" : "Acesse:\nlupa.news\nCompartilhe PP” Salve para\ncom um amigo mais tarde\n",
            "textoextraido2" : "C ANIS\nlupa.news\nCompartilhe PP” Salve para\ncom um amigo mais tarde\n",
            "textoextraido3" : "E A MTE\nlupa.news\n[E LU K Salve para\ncom um amigo mais tarde\n",
            "opcao" : 1
        }
    }
})

x = db.posts.find({'campocr.118937998_638615533744934_2935884294206630517_n': {'$exists': True}})
print(list(x))

我想要的一个例子是:db.collection.find({campocr:'118937998_638615533744934_2935884294206630517_n'))你使用的是shell还是pymongo?我使用的是pymongo,我尝试在shell中使用Robo3。拥有数据的集合的名称是什么?posts是名称