84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
find出来直接print是<pymongo.cursor.Cursor object at 0x040DC8D0>
网上看到的都是遍历,如果我想把find出来的结果保存到一个列表就不能保存了,所以请问大神要怎么弄?
认证高级PHP讲师
>>> db.test.find() <pymongo.cursor.Cursor object at 0x108dabf50> >>> >>> list(db.test.find()) [{'_id': ObjectId('5839b12eee86fb71849a0905'), 'name': 'Tom'}, {'_id': ObjectId('5839b134ee86fb71849a0906'), 'name': 'Jim'}]
在pymongo中使用find是得到1个游标对象的,如果你想实现MongoDB shell中find操作,例如:
> db.test.find() { "_id" : ObjectId("5838531e0f3577fc9178b834"), "name" : "zhangsan" }
在pymongo中需要使用find_one方法而不是find方法:
>>> print db.test.find_one() {u'_id': ObjectId('5838531e0f3577fc9178b834'), u'name': u'zhangsan'} >>> print db.test.find() <pymongo.cursor.Cursor at 0x7f4ac789e450> >>> result = [] >>> for x in db.test.find(): result.append(x) >>> print(result) >>> [{u'_id': ObjectId('5838531e0f3577fc9178b834'), u'name': u'zhangsan'},...]
这样就可以得到多条数据了。
我知道得就是遍历游标一个一个append到列表中去,难道还有其他办法?求大神指导
其实很简单的,上面的答案都是遍历,在python中
array = list(posts.find())#posts是我的collection type(array) #list
补充一下
#list to datafram import pandas as pd df = pd.DataFrame(array)
在pymongo中使用find是得到1个游标对象的,如果你想实现MongoDB shell中find操作,例如:
在pymongo中需要使用find_one方法而不是find方法:
这样就可以得到多条数据了。
我知道得就是遍历游标一个一个append到列表中去,难道还有其他办法?求大神指导
其实很简单的,上面的答案都是遍历,在python中
补充一下