sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur konverterar man en pymongo.cursor.Cursor till ett dikt?

find metod returnerar en Cursor instans, som låter dig iterera över alla matchande dokument.

För att få det första dokumentet som matchar de givna kriterierna måste du använda find_one . Resultatet av find_one är en ordbok.

Du kan alltid använda list konstruktorn för att returnera en lista över alla dokument i samlingen, men kom ihåg att detta kommer att ladda all data i minnet och kanske inte är vad du vill ha.

Du bör göra det om du behöver återanvända markören och har en bra anledning att inte använda rewind()

Demo med find :

>>> import pymongo
>>> conn = pymongo.MongoClient()
>>> db = conn.test #test is my database
>>> col = db.spam #Here spam is my collection
>>> cur = col.find()  
>>> cur
<pymongo.cursor.Cursor object at 0xb6d447ec>
>>> for doc in cur:
...     print(doc)  # or do something with the document
... 
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}
{'a': 1, 'c': 3, '_id': ObjectId('54ff32a2add8f30feb902690'), 'b': 2}

Demo med find_one :

>>> col.find_one()
{'a': 1, '_id': ObjectId('54ff30faadd8f30feb90268f'), 'b': 2}


  1. Hur man skapar bönan av FindByIndexNameSessionRepository

  2. Få alla fältnamn i en mongodb-samling?

  3. Spring Data MongoDB - Annotation @CreatedDate fungerar inte när du använder med anpassat Id-fält

  4. Vill du avbryta en uppgift som redan körs i Python RQ?