Python 作为键值对遍历PyMongo游标
是否可以像dict一样在pymongoPython 作为键值对遍历PyMongo游标,python,mongodb,pymongo,Python,Mongodb,Pymongo,是否可以像dict一样在pymongo光标上作为键值对进行迭代?我正在使用python 2.6和pymongo 1.9 我试过这个: import pymongo mongo = pymongo.Connection('localhost') mongo_db = mongo['my_database'] mongo_coll = mongo_db['my_collection'] cursor = mongo_coll.find() records = dict([(record_id, re
光标上作为键值对进行迭代?我正在使用python 2.6和pymongo 1.9
我试过这个:
import pymongo
mongo = pymongo.Connection('localhost')
mongo_db = mongo['my_database']
mongo_coll = mongo_db['my_collection']
cursor = mongo_coll.find()
records = dict([(record_id, record) for record_id, record in mongo_cursor])
但我得到了一个错误:
ValueError: too many values to unpack
尝试:
这是python中的一个功能,我用来从MongoDB游标构建JSON响应
def build_contacts_cursor(cursor):
''' Builds a JSON response for a given cursor
'''
response = json.loads('{}')
response_to_append_to = response['results'] = []
for idx, bp in enumerate(cursor):
response_to_append_to.append(bp)
return response
两件事。1) response={}
比json.loads({}')
要清晰得多。2) 您应该对游标中的bp执行,因为您正在从enumerate()
忽略idx
。
def build_contacts_cursor(cursor):
''' Builds a JSON response for a given cursor
'''
response = json.loads('{}')
response_to_append_to = response['results'] = []
for idx, bp in enumerate(cursor):
response_to_append_to.append(bp)
return response