PyMongo Handledning
Komma igång med PyMongo
Sök…
Anmärkningar
Det här avsnittet ger en översikt över vad pymongo är och varför en utvecklare kanske vill använda den.
Det bör också nämna alla stora ämnen inom pymongo och koppla till de relaterade ämnena. Eftersom dokumentationen för pymongo är ny kan du behöva skapa initialversioner av relaterade ämnen.
Installation eller installation
Detaljerade anvisningar för hur du installerar eller installerar pymongo.
Installera med Pip
Så här installerar du pymongo för första gången:
pip install pymongo
Installera en specifik version av pymongo:
Där XXX är den version som ska installeras
pip install pymongo==XXX
Uppgradering av befintlig pymongo:
pip install --upgrade pymongo
Installera med easy_install
Så här installerar du pymongo för första gången:
python -m easy_install pymongo
Uppgradering av befintlig pymongo:
python -m easy_install -U pymongo
Hej världen
PyMongo är en ursprunglig Python-drivrutin för MongoDB.
Installera PyMongo
pip install pymongo
Skapa en anslutning
Använd MongoClient för att skapa en anslutning. MongoClient är standard för MongoDB-instans som körs på localhost:27017
om det inte anges.
from pymongo import MongoClient
client = MongoClient()
Åtkomst till databasobjekt
Pymongo s databas klass representerar databas konstruktion i MongoDB. Databaser innehåller grupper med logiskt relaterade samlingar.
db = client.mydb
Access Collection Objects
PyMongos samling klass representerar samlingskonstruktion i MongoDB. Samlingar har grupper av relaterade dokument.
col = db.mycollection
MongoDB skapar nya databaser och samlingar implicit vid första användningen.
Grundläggande CRUD-drift
MongoDB lagrar dataposter som BSON- dokument . BSON är den binära representationen av JSON.
$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test
Skapa
Infoga ett enda dokument insert_one(document)
>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')
Infoga flera dokument insert_many(documents)
>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]
Ersätta ett enda dokument som matchar filtret replace_one(filter, replacement, upsert=False)
. (för att infoga ett nytt dokument om matchande dokument inte finns, använd upsert=True
)
>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1
Uppdatering
Uppdatera ett enda dokument som matchar filtret update_one(filter, update, upsert=False)
>>> result = col.update_one({'x': 1}, {'x': 3})
Uppdatera ett eller flera dokument som matchar filtret update_many(filter, update, upsert=False)
>>> result = col.update_many({'x': 1}, {'x': 3})
Läsa
Fråga databasens sökning find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False)
. Filterargumentet är ett prototypdokument som alla resultat måste matcha.
>>> result = col.find({'x': 1})
Hämta ett enda dokument från databasen find_one(filter=None)
>>> result = col.find_one()
Fråga med projektion
query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)
Radera
Radera ett enda dokument som matchar filtret delete_one(filter)
>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1
Radera ett eller flera dokument som matchar filtret delete_many(filter)
>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3
PyMongo tillhandahåller också find_one_and_delete()
, find_one_and_update()
och find_one_and_replace()
.