MongoDB PyMongo列出文档中的所有键

时间:2016-01-04 22:21:16

标签: python mongodb pymongo

我有一个关于如何在PyMongo中操作文档以使其列出所有当前键的问题,而且我不太确定如何操作它。例如,如果我有一个看起来像这样的文档:

{
    "_id" : ObjectID("...")
    "name": ABCD,
    "info": {
        "description" : "XYZ",
        "type" : "QPR"
    }
}

我有一个变量"文件"将当前文档作为其值,我如何编写代码来打印三个键:

"_id"
"name"
"info"

我不希望它列出值,只是列出名称。这样做的动机是用户会输入其中一个名称,之后我的程序会做其他事情。

3 个答案:

答案 0 :(得分:3)

documentation中所述:

  

在PyMongo中,我们使用词典来表示文档。

因此,您可以使用.keys()获取所有密钥:

print(document.keys()) 

答案 1 :(得分:0)

该文档是一个python字典,因此您只需打印其键

即可

e.g。

document = db.collection_name.find_one()
for k in document:
    print(k)

答案 2 :(得分:0)

使用Python,我们可以执行以下操作,以mydoc变量的形式获取所有文档

mydoc = collections.find()

for x in mydoc:
    l=list(x.keys())
    print(l)

使用此功能,我们可以将所有键作为列表获取,然后可以将其用于进一步的用户需求