pymongo查询包含唯一标识符的所有项



我有一个mongo集合,数据结构如下

content: {'description': {   'text': [{'_date': '2019-05-21','_sectionId': 'a13a','_objectId: 'f637cee'},
{'_date': '2019-05-21','_objectId': '8b2ed183', '_source: 'f637cee'},
{ etc....}
{'_date': '2019-05-21','_sectionId': 'a13a','_objectId: 'XXXcee'}
},
'client' : {.....},
}

我正在寻找通过以下方式查询集合以获得元组列表的方法:给定节Id,我想获得相应的"objectId">

在这种情况下,结果将是:

('a13a','f637cee'), ('a13a','XXXcee')

我开始做这样的事情:

import pymongo
myclient = pymongo.MongoClient(mongoconnection)
print('databases names:')
myclient.list_database_names()
# getting the collection:
mydb = myclient["clients"]
query = {'content.description.text._sectionId': 'a13a'}
cur = mydb.find(query)

但是我不知道如何从光标中提取信息。

有什么帮助吗?

注意,信息可能嵌套在不同的位置,即在"之前有更多的节点;内容";这可能会有所不同。非常感谢

使用find()的第二个参数来获取所需字段。

例如:

query = {'content.description.text._sectionId': 'a13a'}
cur = mydb.find(query, { "_id": 0, "_sectionId": 1, "_objectId": 1 })
print([tuple(i.values()) for i in cur])

最新更新