Ricerca…


Osservazioni

Questa sezione fornisce una panoramica di cosa sia pymongo e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare tutti i soggetti di grandi dimensioni all'interno di pymongo e collegarsi agli argomenti correlati. Poiché la documentazione di pymongo è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Installazione o configurazione

Istruzioni dettagliate su come installare o installare pymongo.

  • Installazione con Pip

    • Per installare pymongo per la prima volta:

      pip install pymongo

    • Installazione di una versione specifica di pymongo:

      Dove XXX è la versione da installare

      pip install pymongo==XXX

    • Aggiornamento del pymongo esistente:

      pip install --upgrade pymongo

  • Installazione con easy_install

    • Per installare pymongo per la prima volta:

      python -m easy_install pymongo

    • Aggiornamento del pymongo esistente:

      python -m easy_install -U pymongo

Ciao mondo

PyMongo è un driver Python nativo per MongoDB.

Installa PyMongo

pip install pymongo

Crea una connessione

Utilizzare MongoClient per creare una connessione. Per impostazione predefinita, MongoClient esegue l'istanza MongoDB in esecuzione su localhost:27017 se non specificato.

from pymongo import MongoClient
client = MongoClient() 

Accedi agli oggetti del database

La classe Database di PyMongo rappresenta il costrutto del database in MongoDB. I database contengono gruppi di raccolte logicamente correlate.

db = client.mydb

Accedere agli oggetti di raccolta

La classe Collection di PyMongo rappresenta il costrutto di raccolta in MongoDB. Le raccolte contengono gruppi di documenti correlati.

col = db.mycollection

MongoDB crea implicitamente nuovi database e raccolte al primo utilizzo.

Funzionamento di base CRUD

MongoDB memorizza i record di dati come documenti BSON . BSON è la rappresentazione binaria di JSON.

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

Creare

Inserisci un singolo documento insert_one(document)

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

Inserire più documenti insert_many(documents)

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

Sostituire un singolo documento corrispondente al filtro replace_one(filter, replacement, upsert=False) . (per inserire un nuovo documento se il documento corrispondente non esiste, usa upsert=True )

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

Aggiornare

Aggiorna un singolo documento corrispondente al filtro update_one(filter, update, upsert=False)

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

Aggiorna uno o più documenti che corrispondono al filtro update_many(filter, update, upsert=False)

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

Leggere

Cerca il database find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False) . L'argomento del filtro è un documento prototipo che tutti i risultati devono corrispondere.

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

Ottieni un singolo documento dal database find_one(filter=None)

>>> result = col.find_one()

Query con proiezione

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

Elimina

Elimina un singolo documento corrispondente al filtro delete_one(filter)

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

Elimina uno o più documenti corrispondenti al filtro delete_many(filter)

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

PyMongo fornisce anche le funzioni find_one_and_delete() , find_one_and_update() e find_one_and_replace() .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow