sql >> Databasteknik >  >> NoSQL >> MongoDB

Varför får jag en pymongo.cursor.Cursor när jag försöker fråga min mongodb db via pymongo?

PyMongos find()-metod returnerar en markör. För att faktiskt köra frågan på servern och hämta resultat, iterera markören med list eller en for loop:

for doc in tweets.find({'screen_name': 'name'}):
    print(doc)

# Or:
docs = list(tweets.find({'screen_name': 'name'}))

If tweets.find({"screen_name": "name"}).count() returnerar 0, det betyder att inga dokument matchar din fråga.

Edit:nu när du har lagt upp ett exempeldokument ser jag att du vill fråga som:

list(tweets.find({'user.screen_name': 'name'}))

... sedan screen_name fältet är inbäddat i user underdokument.



  1. Motsvarar mongo's out:reduce-alternativet i hadoop

  2. Kontrollera om fältet finns i ett underdokument till en array

  3. Få värden som array av element efter $lookup

  4. Konvertera från LinkedHashMap till Json String