从mongoDB文档中获取JSON

时间:2014-09-21 11:14:26

标签: python json mongodb pymongo

使用python 2.7,pymongo,mongoDB 2.6.1:

我有一个mongoDB集合。

现在我试图从中获取一些字段,并将其中的JSON列表放入一个文件中(这是另一方希望的输入)。

我尝试了以下代码:

my_file = open("test.csv", "w")
for doc in collection.find():
    json.dumps({"command": doc["command"], "data": doc["data"]}, my_file)

并得到错误:     KeyError:'命令'

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

这意味着至少有一条记录没有command字段。检查记录是否有command个字段。

除此之外,json.dumps只接受一个位置参数,与采用对象和文件对象的json.dump不同。

如果您将记录转储到一个文件中,则很难将其解码回来。您最好转储包含记录的列表对象。

with open("test.json", "w") as f:
    json.dump(list(collection.find()), f)

要取回记录:

with open("test.json") as f:
    records = json.load(f)