使用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:'命令'
我在这里缺少什么?
答案 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)