W tym artykule dowiemy się, jak wstawić wiele dokumentów jednocześnie do danej kolekcji za pomocą natywnych poleceń MongoDB Shell.
Metoda MongoDB InsertMany ()
Jak sama nazwa wskazuje, metoda insertMany () pozwala nam określić zestaw dokumentów i wstawić je wszystkie jedno raz do danej kolekcji.
Poniżej pokazuje składnię metody InsertMany ():
db.kolekcja.wstrząs
[,…],
WriteConcern: ,
Zamówiono:
)
Parametr jest następujący:
- Dokument - określa szereg dokumentów do wstawienia do danego zbioru.
- WriteConcern - określa parametry związane z zapisem, które zastępuje domyślny problem z zapisem. W celu zdefiniowania poziomu potwierdzenia żądanego z MongoDB na zapis.
- Zamówiono -definiuje to, czy instancja MongoDB powinna wykonać zamówioną lub nieoporządkowaną wkładkę.
Metoda powinna zwrócić oświadczenie o potwierdzeniu, które zawiera oświadczenie boolowskie i liczbę wstawionych dokumentów.
Spójrzmy na praktyczny przykład.
Zdefiniuj kolekcję
Zacznijmy od utworzenia prostej kolekcji, w której możemy wstawić przykładowe dane. Zaloguj się do powłoki MongoDB i uruchom polecenie:
$ Mongosh
db.CreateCollection („Pracownicy”)
Powyższe polecenie powinno utworzyć nową kolekcję o nazwie pracowników.
Włóż wiele dokumentów z polem _id
MongoDB to bardzo elastyczna baza danych. Pozwala nam wstawić dokumenty bez określania pola _id. Domyślnie MongoDB wygeneruje unikalny identyfikator dla każdego dokumentu wstawionego do kolekcji
Poniższy przykład pokazuje, jak użyć metody insertMany () do wstawienia wielu dokumentów bez pola _id.
db.pracownicy.wstrząs
Nazwa: „Ryan”, dział: „Rozwój gry”, pensja: 120000,
Nazwa: „David”, dział: „Backend Development”, pensja: 108000,
Nazwa: „Rachael”, dział: „Rozwój pełnego stosu”, pensja: 110000,
Nazwa: „James”, dział: „DevOps Development”, pensja: 110000,
Nazwa: „Peter”, dział: „Rozwój gry”, pensja: 123000,
])
Jeśli wykonamy powyższe zapytanie, powinniśmy uzyskać wyjście, jak pokazano:
„Uznany”: prawda,
„Wstawki”: [
ObjectID („632BD2F28B16030EEBD4FAD6”),
ObjectID („632BD2F28B16030EEBD4FAD7”),
ObjectID („632BD2F28B16030EEBD4FAD8”),
ObjectID („632BD2F28B16030EEBD4FAD9”),
ObjectID („632BD2F28B16030EEBD4FADA”)
]
Powyższe pokazuje komunikat potwierdzenia i automatycznie wygenerowane wartości identyfikacyjne.
Możemy zlokalizować wstawione dokumenty jako:
db.pracownicy.znajdować()
Pokazanie powyżej powinno zwrócić wprowadzone dokumenty, jak pokazano:
„_ID”: ObjectID (”632BD2F28B16030EBD4FAD6”),
„Nazwa”: „Ryan”,
„Wydział”: „Rozwój gry”,
„Wynagrodzenie”: 120000.0
„_ID”: ObjectID (”632BD2F2F28B16030EBD4FAD7”),
„Nazwa”: „David”,
„Departament”: „Rozwój zaplecza”,
„Wynagrodzenie”: 108000.0
„_ID”: ObjectID (”632BD2F28B16030EBD4FAD8”),
„Nazwa”: „Rachael”,
„Wydział”: „Rozwój pełnego stosu”,
„Wynagrodzenie”: 110000.0
„_ID”: ObjectID (”632BD2F28B16030EBD4FAD9”),
„Nazwa”: „James”,
„Departament”: „DevOps Development”,
„Wynagrodzenie”: 110000.0
Włóż wiele dokumentów z polem _id
Jeśli nie chcemy, aby MongoDB wygenerował wartość _id, możemy wyraźnie określić wartości dla kolumny _id, jak pokazano w poniższym przykładzie:
db.pracownicy.wstrząs
_id: 1, nazwa: „Ryan”, dział: „Rozwój gry”, pensja: 120000,
_id: 2, nazwa: „David”, dział: „Backend Development”, pensja: 108000,
_id: 3, nazwa: „Rachael”, dział: „Rozwój pełnego stosu”, pensja: 110000,
_id: 4, nazwa: „James”, dział: „DevOps Development”, pensja: 110000,
_id: 5, nazwa: „Peter”, dział: „Rozwój gry”, pensja: 123000,
])
W powyższym przykładzie jawnie określamy wartości kolumny _id dla każdego dokumentu wstawionego do kolekcji.
Powyższe zapytanie powinno powrócić:
„Uznany”: prawda,
„Wstawki”: [
1.0,
2.0,
3.0,
4.0,
5.0
]
Niezaporządkowana wkładka
Możemy również wykonać wkładkę nieopisaną, ustawiając uporządkowany parametr na false, jak pokazano poniżej:
db.pracownicy.wstrząs
_id: 1, nazwa: „Ryan”, dział: „Rozwój gry”, pensja: 120000,
_id: 2, nazwa: „David”, dział: „Backend Development”, pensja: 108000,
_id: 3, nazwa: „Rachael”, dział: „Rozwój pełnego stosu”, pensja: 110000,
_id: 4, nazwa: „James”, dział: „DevOps Development”, pensja: 110000,
_id: 5, nazwa: „Peter”, dział: „Rozwój gry”, pensja: 123000,
], uporządkowany: false)
Jest to przydatne podczas pracy z zduplikowanymi dokumentami.
Wniosek
W tym poście omówiliśmy podstawy pracy z metodą MongoDB InsertMany (), aby dodać wiele dokumentów do danego zbioru w jednym poleceniu.