如何获取mongodb集合中使用的所有密钥的列表?
我正在尝试使用以下代码在python中创建一个csv文件:
userAgentProp_list = []
# userAgentProp is a set of user ids
# userColl is a mongodb collection
for user in userAgentProp:
userAgentProp_list.append(userColl.find_one({"_id":user}))
with open('userWtihAgentProp.csv','w+') as f:
w = csv.DictWriter(f,userAgentProp_list[0].keys())
w.writeheader()
for user in userAgentProp_list:
# del row['_id']
w.writerow(user)
但我一直收到错误:
ValueError: dict contains fields not in fieldnames
我认为这是因为userAgentProp_list[0]
与集合中的其他文档没有完全相同的字段。
如何获取集合中使用的所有密钥列表?
答案 0 :(得分:0)
我想我已经找到了解决方案。我喜欢有经验的人告诉我这是否正确和/或可以更好/更有效地完成。
def getCollectionKeys(collection):
"""Get a set of keys from a collection"""
keys_list = []
collection_list = collection.find()
for document in collection_list:
for field in document.keys():
keys_list.append(field)
keys_set = set(keys_list)
return keys_set