84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
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'}]
L'utilisation de find dans pymongo obtiendra un objet curseur. Si vous souhaitez implémenter l'opération de recherche dans le shell MongoDB, par exemple :
> db.test.find() { "_id" : ObjectId("5838531e0f3577fc9178b834"), "name" : "zhangsan" }
Vous devez utiliser la méthode find_one au lieu de la méthode find dans pymongo :
>>> 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'},...]
De cette façon, vous pouvez obtenir plusieurs éléments de données.
Tout ce que je sais, c'est parcourir le curseur et ajouter à la liste un par un. Existe-t-il un autre moyen ? Demandez conseil à Dieu
En fait, c'est très simple. Les réponses ci-dessus sont toutes traversées, en python
array = list(posts.find())#posts是我的collection type(array) #list
Note complémentaire
#list to datafram import pandas as pd df = pd.DataFrame(array)
L'utilisation de find dans pymongo obtiendra un objet curseur. Si vous souhaitez implémenter l'opération de recherche dans le shell MongoDB, par exemple :
Vous devez utiliser la méthode find_one au lieu de la méthode find dans pymongo :
De cette façon, vous pouvez obtenir plusieurs éléments de données.
Tout ce que je sais, c'est parcourir le curseur et ajouter à la liste un par un. Existe-t-il un autre moyen ? Demandez conseil à Dieu
En fait, c'est très simple. Les réponses ci-dessus sont toutes traversées, en python
Note complémentaire