Wstawianie dokumentów do MongoDB w Pythonie
- Poprzednia strona Tworzenie zbioru w MongoDB
- Następna strona Znajdowanie w MongoDB
Dokumenty w MongoDB są podobne do rekordów w bazach danych SQL.
Wstawienie do kolekcji
Aby wstawić rekord lub dokument do kolekcji MongoDB, używamy insert_one()
Metoda.
insert_one()
Pierwszy parametr metody jest słownikiem, który zawiera nazwy i wartości pól, które mają być wstawione do dokumentu.
przykład
Wstaw rekord do kolekcji "customers":
import pymongo klient = pymongo.MongoClient("mongodb://localhost:27017/") mojaBaza = klient["mojaBaza"] mojaKolumna = mojaBaza["klienci"] mydict = { "name": "Bill", "address": "Highway 37" } x = mycol.insert_one(mydict)
zwraca pole _id
insert_one()
Metoda zwraca obiekt InsertOneResult, który ma atrybuty inserted_id
do przechowywania id wstawionego dokumentu.
przykład
Wstaw inny wiersz do kolekcji "customers" i zwróć wartość pola _id:
mydict = { "name": "Peter", "address": "Lowstreet 27" } x = mycol.insert_one(mydict) print(x.inserted_id)
Jeśli nie określiłeś _id
Pole, więc MongoDB doda dla Ciebie jedno i przypisze unikalny ID do każdego dokumentu.
W przykładzie tym nie określono _id
Pole, więc MongoDB przypisuje unikalny _id do zapisu (dokumentu).
Wstawienie wielu dokumentów
Aby wstawić wiele dokumentów do kolekcji MongoDB, używamy wstaw_many()
Metoda.
wstaw_many()
Pierwszy parametr metody jest listą słowników zawierających dane do wstawienia:
przykład
import pymongo klient = pymongo.MongoClient("mongodb://localhost:27017/") mojaBaza = klient["mojaBaza"] mojaKolumna = mojaBaza["klienci"] mojaLista = [ {"name": "Amy", "address": "Apple st 652"}, {"name": "Hannah", "address": "Mountain 21"}, {"name": "Michael", "address": "Valley 345"}, {"name": "Sandy", "address": "Ocean blvd 2"}, {"name": "Betty", "address": "Green Grass 1"}, {"name": "Richard", "address": "Sky st 331"}, {"name": "Susan", "address": "One way 98"}, { "name": "Vicky", "address": "Yellow Garden 2"}, { "name": "Ben", "address": "Park Lane 38"}, { "name": "William", "address": "Central st 954"}, { "name": "Chuck", "address": "Main Road 989"}, { "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # Wyświetl listę wartości _id dokumentów, które zostały wstawione: print(x.inserted_ids)
wstaw_many()
metoda zwraca obiekt InsertManyResult, który ma atrybuty wstawione_id
do przechowywania id wstawionych dokumentów.
Wstawienie wielu dokumentów z określonym ID
Jeśli nie chcesz, aby MongoDB przypisywał unikalny id Twoim dokumentom, możesz określić pole _id podczas wstawiania dokumentu.
Pamiętaj, że wartości muszą być unikalne. Dwa pliki nie mogą mieć tego samego _id.
przykład
import pymongo klient = pymongo.MongoClient("mongodb://localhost:27017/") mojaBaza = klient["mojaBaza"] mojaKolumna = mojaBaza["klienci"] mojaLista = [ { "_id": 1, "name": "John", "address": "Highway 37"}, { "_id": 2, "name": "Peter", "address": "Lowstreet 27"}, { "_id": 3, "name": "Amy", "address": "Apple st 652"}, { "_id": 4, "name": "Hannah", "address": "Mountain 21"}, { "_id": 5, "name": "Michael", "address": "Valley 345"}, { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"}, { "_id": 7, "name": "Betty", "address": "Green Grass 1"}, {"_id": 8, "name": "Richard", "address": "Sky st 331"} {"_id": 9, "name": "Susan", "address": "One way 98"}, {"_id": 10, "name": "Vicky", "address": "Yellow Garden 2"}, {"_id": 11, "name": "Ben", "address": "Park Lane 38"}, {"_id": 12, "name": "William", "address": "Central st 954"}, {"_id": 13, "name": "Chuck", "address": "Main Road 989"}, {"_id": 14, "name": "Viola", "address": "Sideway 1633"} ] x = mycol.insert_many(mylist) # Wyświetl listę wartości _id dokumentów, które zostały wstawione: print(x.inserted_ids)
- Poprzednia strona Tworzenie zbioru w MongoDB
- Następna strona Znajdowanie w MongoDB