PyMongoAan de slag met PyMongo


Opmerkingen

Deze sectie geeft een overzicht van wat pymongo is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen pymongo vermelden en naar de gerelateerde onderwerpen verwijzen. Omdat de documentatie voor pymongo nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Basis CRUD-bewerking

MongoDB slaat gegevensrecords op als BSON- documenten . BSON is de binaire weergave van JSON.

$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test
 

creëren

Voeg een enkel document in insert_one(document)

>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')
 

Meerdere documenten invoegen insert_many(documents)

>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]
 

Vervang een enkel document dat overeenkomt met het filter replace_one(filter, replacement, upsert=False) . (gebruik upsert=True om een nieuw document in te voegen als het overeenkomende document niet bestaat)

>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1
 

Bijwerken

Werk een enkel document bij dat overeenkomt met het filter update_one(filter, update, upsert=False)

>>> result = col.update_one({'x': 1}, {'x': 3})
 

Werk een of meer documenten bij die overeenkomen met het filter update_many(filter, update, upsert=False)

>>> result = col.update_many({'x': 1}, {'x': 3})
 

Lezen

Zoek in de database find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False) . Het filter argument is een prototype document dat alle resultaten moeten overeenkomen.

>>> result = col.find({'x': 1})
 

Haal een enkel document uit de database find_one(filter=None)

>>> result = col.find_one()
 

Vraag Met Projectie

query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)
 

Delete

Verwijder een enkel document dat overeenkomt met het filter delete_one(filter)

>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1
 

Verwijder een of meer documenten die overeenkomen met het filter delete_many(filter)

>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3
 

PyMongo biedt ook de functie find_one_and_delete() , find_one_and_update() en find_one_and_replace() .

Hallo Wereld

PyMongo is een native Python-stuurprogramma voor MongoDB.

Installeer PyMongo

pip install pymongo
 

Maak een verbinding

Gebruik MongoClient om een verbinding te maken. MongoClient is standaard ingesteld op MongoDB-instantie die wordt uitgevoerd op localhost:27017 indien niet opgegeven.

from pymongo import MongoClient
client = MongoClient() 
 

Toegang tot databaseobjecten

De klasse Database van PyMongo vertegenwoordigt de databaseconstructie in MongoDB. Databases bevatten groepen logisch gerelateerde collecties.

db = client.mydb
 

Toegang tot verzamelobjecten

De klasse Collection van PyMongo vertegenwoordigt het verzamelconstructie in MongoDB. Collecties bevatten groepen gerelateerde documenten.

col = db.mycollection
 

MongoDB creëert impliciet nieuwe databases en collecties bij het eerste gebruik.

Installatie of instellingen

Gedetailleerde instructies voor het instellen of installeren van pymongo.

  • Installeren met Pip

    • Om pymongo voor de eerste keer te installeren:

      pip install pymongo

    • Een specifieke versie van pymongo installeren:

      Waarbij XXX de te installeren versie is

      pip install pymongo==XXX

    • Bestaande pymongo upgraden:

      pip install --upgrade pymongo

  • Installeren met easy_install

    • Om pymongo voor de eerste keer te installeren:

      python -m easy_install pymongo

    • Bestaande pymongo upgraden:

      python -m easy_install -U pymongo