Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 作为键值对遍历PyMongo游标_Python_Mongodb_Pymongo - Fatal编程技术网

Python 作为键值对遍历PyMongo游标

Python 作为键值对遍历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

是否可以像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, 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