Szukaj…


Uwagi

Ta sekcja zawiera przegląd tego, czym jest pymongo i dlaczego deweloper może chcieć go użyć.

Powinien również wymieniać wszelkie duże tematy w pymongo i link do powiązanych tematów. Ponieważ Dokumentacja dla pymongo jest nowa, może być konieczne utworzenie początkowych wersji tych powiązanych tematów.

Instalacja lub konfiguracja

Szczegółowe instrukcje dotyczące konfiguracji lub instalacji pymongo.

  • Instalowanie za pomocą Pip

    • Aby zainstalować pymongo po raz pierwszy:

      pip install pymongo

    • Instalowanie konkretnej wersji pymongo:

      Gdzie XXX to wersja do zainstalowania

      pip install pymongo==XXX

    • Aktualizacja istniejącego pymongo:

      pip install --upgrade pymongo

  • Instalowanie za pomocą easy_install

    • Aby zainstalować pymongo po raz pierwszy:

      python -m easy_install pymongo

    • Aktualizacja istniejącego pymongo:

      python -m easy_install -U pymongo

Witaj świecie

PyMongo to natywny sterownik Python dla MongoDB.

Zainstaluj PyMongo

pip install pymongo

Utwórz połączenie

Użyj MongoClient, aby utworzyć połączenie. Domyślnie MongoClient ma instancję MongoDB uruchomioną na localhost:27017 jeśli nie jest określony.

from pymongo import MongoClient
client = MongoClient() 

Uzyskaj dostęp do obiektów bazy danych

Klasa Database PyMongo reprezentuje konstrukcję bazy danych w MongoDB. Bazy danych przechowują grupy logicznie powiązanych kolekcji.

db = client.mydb

Uzyskaj dostęp do obiektów kolekcji

Klasa Collection PyMongo reprezentuje konstrukcję kolekcji w MongoDB. Kolekcje przechowują grupy powiązanych dokumentów.

col = db.mycollection

MongoDB tworzy nowe bazy danych i zbiory pośrednio przy pierwszym użyciu.

Podstawowa obsługa CRUD

MongoDB przechowuje rekordy danych jako dokumenty BSON . BSON to binarna reprezentacja JSON.

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

Stwórz

Wstaw pojedynczy dokument insert_one(document)

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

Wstaw wiele dokumentów insert_many(documents)

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

Zamień pojedynczy dokument pasujący do filtra replace_one(filter, replacement, upsert=False) . (aby wstawić nowy dokument, jeśli pasujący dokument nie istnieje, użyj upsert=True )

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

Aktualizacja

Zaktualizuj pojedynczy dokument zgodny z filtrem update_one(filter, update, upsert=False)

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

Zaktualizuj jeden lub więcej dokumentów pasujących do filtra update_many(filter, update, upsert=False)

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

Czytać

Zapytanie find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False) bazie danych find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False) . Argument filtru to prototypowy dokument, do którego muszą pasować wszystkie wyniki.

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

Pobierz pojedynczy dokument z bazy danych find_one(filter=None)

>>> result = col.find_one()

Zapytanie Z Projekcją

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

Usunąć

Usuń pojedynczy dokument pasujący do filtra delete_one(filter)

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

Usuń jeden lub więcej dokumentów pasujących do filtra delete_many(filter)

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

PyMongo zapewnia również funkcje find_one_and_delete() , find_one_and_update() i find_one_and_replace() .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow