我刚刚开始使用MongoDB,并且我一直在尝试将庞大的标识符csv列表与MongoDB中的数据库进行比较。 关键是,取决于csv文件,代码是否起作用。 csv只是标识符的一列列表。
这是我的代码:
import pymongo
import csv
from pymongo import MongoClient
connection = MongoClient()
db = connection.smth
collection1 = db.smth2
collection2 = db.smth3
writer = csv.writer(open("/Users/joseantonioruizgarcia/Desktop/OrgIdresult.csv", "w"))
with open('query_result.csv') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',')
for row in spamreader:
cursor1 = collection1.find({"_id" : row[0]})
for document in cursor1:
cursor2 = collection2.find({"ultimateParentId" : document['orgId']})
for document2 in cursor2:
writer.writerow([document2['name']])
我收到以下错误:
Traceback (most recent call last):
File "MongoDBconnect.py", line 18, in <module>
cursor2 = collection2.find({"ultimateParentId" : document['orgId']})
KeyError: 'orgId'
问题是'orgId'实际上存在于数据库中,当我使用其他文件时,它可以工作,但是我必须使其与所有文件一起工作...
有什么想法吗? 谢谢!