MongoDB Tablica obiektów przy użyciu funkcji wstawki () z przykładem

⚡ Inteligentne podsumowanie

MongoDB Tablica obiektów z użyciem funkcji insert() pokazuje, jak dodać kilka dokumentów do kolekcji w jednej operacji. Przechowuje tablicę rekordów pracowników, osadza tablice w dokumencie i wyświetla wyniki w przejrzysty sposób za pomocą funkcji drukowania JSON.

  • 📥 Wkładka zbiorcza: Metoda insert() dodaje tablicę dokumentów do kolekcji w pojedynczej, wydajnej operacji.
  • 🧾 Model dokumentu: Każdy dokument jest zestawem par pól i wartości, a MongoDB automatycznie dodaje unikalny _id.
  • 🗂️. Wbudowane tablice: Tablica może również występować jako pole w jednym dokumencie,ping powiązane ze sobą wartości.
  • 🔁 Nowoczesne metody: insertOne() i insertMany() to obecne, bardziej przejrzyste zamienniki starszej metody insert().
  • 🖨️ Readable Wyjście: Polecenie forEach(printjson) drukuje każdy dokument w przejrzystym, łatwym do odczytania formacie JSON.

Czym jest metoda insert() w MongoDB?

Metoda insert() w MongoDB Dodaje jeden lub więcej dokumentów do kolekcji. Dokument to zestaw par pole-wartość przechowywanych w BSON, binarnej formie JSON. Po przekazaniu pojedynczego dokumentu funkcja insert() zapisuje ten jeden rekord; po przekazaniu tablicy dokumentów zapisuje je wszystkie w jednej operacji, co jest szybsze niż wstawianie ich pojedynczo.

Metoda jest uruchamiana dla konkretnej kolekcji przy użyciu wzorca db.collection.insert(). Jeśli kolekcja docelowa jeszcze nie istnieje, MongoDB Tworzy je automatycznie podczas pierwszego wstawiania. Każdy dokument otrzymuje również unikalne pole _id, jeśli go nie podasz, dzięki czemu każdy rekord można później zidentyfikować.

Chociaż insert() nadal działa, nowsze MongoDB Wersje oferują bardziej przejrzyste zamienniki insertOne() i insertMany(). Poniższe przykłady wykorzystują insert(), aby dodać tablicę dokumentów pracowniczych, a następnie wyświetlić wyniki w czytelnym formacie JSON.

Dodawanie tablicy dokumentów

Polecenie „wstaw” może być również użyte do jednoczesnego wstawienia wielu dokumentów do kolekcji. Poniższy przykład kodu może zostać użyty do wstawienia wielu dokumentów jednocześnie.

Poniższy przykład pokazuje, jak to zrobić:

Krok 1) Stwórz JAVASCRIPT zmienna o nazwie myEmployee przechowująca tablicę dokumentów

Krok 2) Dodaj wymagane dokumenty z Nazwą pola i wartościami do zmiennej

Krok 3) Użyj polecenia wstaw, aby wstawić tablicę dokumentów do kolekcji

var myEmployee=
	[
		{
			"Employeeid" : 1,
			"EmployeeName" : "Smith"
		},
		{
			"Employeeid"   : 2,
			"EmployeeName" : "Mohan"
		},
		{
			"Employeeid"   : 3,
			"EmployeeName" : "Joe"
		},
	];

	db.Employee.insert(myEmployee);

Jeśli polecenie zostanie wykonane pomyślnie, zostanie wyświetlony następujący komunikat wyjściowy

MongoDB Tablica obiektów za pomocą funkcji wstaw()

Wynik pokazuje, że te 3 dokumenty zostały dodane do kolekcji.

Jak wstawić tablicę do dokumentu

Oprócz wstawiania szeregu oddzielnych dokumentów, MongoDB Pozwala przechowywać tablicę jako pole w jednym dokumencie. Jest to przydatne, gdy jeden rekord naturalnie zawiera listę wartości, na przykład pracownika o kilku umiejętnościach lub studenta zapisanego na wiele kursów. Ponieważ MongoDB korzysta z elastycznego modelu dokumentu, tablica znajduje się bezpośrednio wewnątrz obiektu, a nie w osobnej tabeli, co pozwala na przechowywanie powiązanych danych w jednym miejscu.

Poniższy przykład wstawia jeden dokument pracownika zawierający pole tablicowe o nazwie Umiejętności:

db.Employee.insert(
   {
      "Employeeid" : 4,
      "EmployeeName" : "Alan",
      "Skills" : [ "MongoDB", "Node.js", "Express" ]
   }
);

Części tego dokumentu działają w następujący sposób:

  • Identyfikator pracownika oraz Imię i nazwisko pracownika są zwykłymi parami pole-wartość.
  • umiejętności jest polem tablicowym zawierającym trzy wartości łańcuchowe w nawiasach kwadratowych.
  • Cały dokument, łącznie z osadzoną tablicą, jest zapisywany w jednej operacji wstawiania.

Po dodaniu rekordu możesz potwierdzić osadzoną tablicę za pomocą zapytania find, które drukuje wynik w formacie JSON:

db.Employee.find( { "Employeeid" : 4 } ).forEach(printjson)

Na wyjściu widoczna jest tablica Umiejętności zagnieżdżona w dokumencie pracownika. LaterMożesz dodawać nowe wartości do tablicy za pomocą operatora $push lub odczytywać pojedynczy element według jego pozycji indeksu. Przechowywanie powiązanych wartości w ten sposób sprawia, że ​​każdy dokument jest niezależny, zmniejsza potrzebę łączenia kolekcji oraz ułatwia odczyt i zarządzanie danymi.

insert() vs insertOne() vs insertMany()

MongoDB Oferuje trzy powiązane metody dodawania danych. Poniższa tabela porównuje je, aby ułatwić wybór odpowiedniej metody:

Metoda wykonania Cel Przykład
wstawić() Starsza metoda, która dodaje pojedynczy dokument lub tablicę dokumentów. Nadal działa, ale jest przestarzała w nowszych sterownikach. db.Employee.insert(myEmployee)
insertOne() Dodaje dokładnie jeden dokument i zwraca jego wstawiony _id. Preferowane dla pojedynczych rekordów. db.Employee.insertOne({ … })
insertMany() Dodaje tablicę dokumentów w jednym wywołaniu i zwraca wszystkie wstawione _id. Preferowane w przypadku wstawek zbiorczych. db.Employee.insertMany([ { … }, { … } ])

W nowych projektach używaj insertOne() i insertMany(), ponieważ zapewniają one jaśniejszą intencję i lepsze raportowanie błędów. Metoda insert() pozostaje dostępna głównie ze względu na wsteczną kompatybilność ze starszymi samouczkami i skryptami.

Druk w formacie JSON

JSON to format tzw JavaNotacja obiektu skryptui jest po prostu sposobem przechowywania informacji w zorganizowany i łatwy do odczytania sposób. W naszych dalszych przykładach użyjemy funkcji drukowania JSON, aby zobaczyć dane wyjściowe w lepszym formacie.

Spójrzmy na przykład wydruku w formacie JSON

db.Employee.find().forEach(printjson)

Code Wyjaśnienie:

  1. Pierwsza zmiana polega na dodaniu funkcji o nazwie forEach() do funkcji find(). Dzięki temu funkcja ta jawnie przeszuka każdy dokument w kolekcji. W ten sposób masz większą kontrolę nad tym, co możesz zrobić z każdym dokumentem w kolekcji.
  2. Druga zmiana polega na umieszczeniu polecenia printjson w instrukcji forEach. Spowoduje to, że każdy dokument w kolekcji będzie wyświetlany w formacie JSON.

Jeśli polecenie zostanie wykonane pomyślnie, zostanie wyświetlony następujący komunikat wyjściowy

Wyjście:

Druk w formacie JSON

Dane wyjściowe wyraźnie pokazują, że wszystkie dokumenty są drukowane w stylu JSON.

FAQ

Tak. Przekazanie tablicy dokumentów do insert() dodaje je wszystkie w jednej operacji. Takie zbiorcze wstawianie jest szybsze niż wywoływanie insert() osobno dla każdego dokumentu, chociaż insertMany() jest obecnie preferowaną metodą.

Tak. Jeśli dokument nie zawiera pola _id, MongoDB automatycznie generuje dla niego unikalny identyfikator obiektu podczas wstawiania, dzięki czemu każdy zapisany rekord można później zidentyfikować i pobrać.

Domyślnie MongoDB Wykonuje wstawianie w kolejności uporządkowanej. Dodaje dokumenty w podanej kolejności i zatrzymuje się przy pierwszym błędzie, pozostawiając pozostałe dokumenty niewstawione. Ustawienie parametru ordered na false kontynuuje wstawianie po wystąpieniu błędów.

Tak. Narzędzia AI potrafią przekształcić prosty opis danych w instrukcje insertOne() lub insertMany(), w tym tablice osadzone. Zawsze sprawdzaj wygenerowane pola i typy danych przed ich uruchomieniem w bazie danych.

Sztuczna inteligencja może sugerować, czy osadzać tablice w dokumencie, czy odwoływać się do oddzielnych kolekcji, na podstawie wzorców zapytań. Pomaga to początkującym w efektywnym modelowaniu danych, unikając jednocześnie zbędnego duplikowania lub zbyt głębokiego zagnieżdżania.

Podsumuj ten post następująco: