MongoDB PyMongo 列出文档中的所有键

MongoDB PyMongo Listing all keys in a document

我有一个关于如何在 PyMongo 中操作文档以使其列出所有当前键的问题,但我不太确定该怎么做。例如,如果我有一个如下所示的文档:

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

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

"_id"
"name"
"info"

我不希望它列出值,只列出名称。这样做的动机是用户将键入其中一个名称,然后我的程序将执行其他操作。

该文档是一个 python 字典,因此您可以只打印它的键

例如

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

documentation所述:

In PyMongo we use dictionaries to represent documents.

因此您可以使用 .keys():

获取所有密钥
print(document.keys()) 

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

mydoc = collections.find()

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

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