PyMongo Samouczek
Rozpoczęcie pracy z PyMongo
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()
.