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是名称