Donc j'essaie d'utiliser l'opérateur $ in à Pymongo où je veux faire des recherches avec un tas de MongoID.
Tout d'abord j'ai cette requête pour trouver un tableau de MongoIDs:
findUsers = db.users.find_one({'_id':user_id},{'_id':0, 'f':1})
Si j'imprimer la findUsers['f']
il ressemble à ceci:
[ObjectId('53b2dc0b24c4310292e6def5'), ObjectId('53b6dbb654a7820416a12767')]
Ces ID d'objet sont ids utilisateur et ce que je veux faire est de trouver tous les utilisateurs qui sont dans la collection des utilisateurs avec ce tableau d'ObjectID. Donc, ma pensée était la suivante:
foundUsers = db.users.find({'_id':{'$in':findUsers['f']}})
Cependant, lorsque j'imprimer les foundUsers le résultat est le suivant:
<pymongo.cursor.Cursor object at 0x10d972c50>
qui n'est pas ce que je reçois normalement lorsque j'imprime une requête sur :(
Qu'est-ce que je fais mal ici?
Un grand merci.
également pour vous ref érence, je l'ai interrogé dans le shell mongo et il fonctionne comme prévu:
db.users.find({_id: {$in:[ObjectId('53b2dc0b24c4310292e6def5'), ObjectId('53b6dbb654a7820416a12767')]}})
Merci beaucoup pour votre information! Maintenant, je comprends – jonprasetyo
Pour convertir le curseur en une liste Python dès qu'il est retourné, enveloppez la requête dans une liste 'list' ...' users = (db.users.find()) ' – MFB