2015-10-10 3 views
0

Этот запрос возвращает объект курсора, теперь я хочу сохранить его результат в строке, как это можно сделать и сказать мне, возможно ли это в python. Я попыталсяcursor = collection.find_one ({"name": "rain"}) pymongo query

obj=next(cursor,None) 
values=obj['values'] 

, но это дает ошибку

TypeError: 'dict' object is not an iterator 

, когда я пытался сделать

for i in cursor: 
    string=i 
    j=j+1 
    for key,value in i.iteritems(): 
     temp=[key,value] 
     string2.append(temp) 

это возвратил ошибку

AttributeError: 'str' object has no attribute 'iteritems' 

в первую очередь я я смущен w hether это объект dict или объект str, и моя главная цель - скопировать содержимое этого объекта в строку, чтобы я мог использовать его в своей программе.

+0

версия pymongo у меня есть 3.0.3 –

ответ

0

Метод .find_one() возвращает один документ из базы данных, а не Cursor, который почему вы получаете TypeError в первом случае. При этом вы получили ошибку атрибута, потому что i - ключевое значение в вашем словаре, поэтому строка и строка не имеют никакого атрибута с именем 'iteritems'. То, что вы хотите, - .find().

Смежные вопросы