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() .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow