MongoDB Pole objektů pomocí insert() s příkladem

⚡ Chytré shrnutí

MongoDB Pole objektů s využitím funkce insert() ukazuje, jak přidat několik dokumentů do kolekce jednou operací. Ukládá pole záznamů o zaměstnancích, vkládá pole do dokumentu a přehledně zobrazuje výsledky pomocí funkce JSON print.

  • 📥 Hromadné vložení: Metoda insert() přidá pole dokumentů do kolekce v rámci jediné efektivní operace.
  • 🧾 Model dokumentu: Každý dokument je sada párů polí a hodnot a MongoDB automaticky přidá jedinečný _id.
  • 🗂️ Vložená pole: Pole může také existovat jako pole v jednom dokumentu, např.ping související hodnoty dohromady.
  • 🔁 Moderní metody: Metody insertOne() a insertMany() jsou aktuální a přehlednější náhradou za starší metodu insert().
  • 🖨️ Readable Výstup: Příkaz forEach(printjson) vytiskne každý dokument v čistém a snadno čitelném formátu JSON.

Co je metoda insert() v MongoDB?

Metoda insert() v MongoDB přidá jeden nebo více dokumentů do kolekce. Dokument je sada párů polí a hodnot uložených v BSON, binární formě JSON. Když předáte jeden dokument, insert() uloží tento jeden záznam; když předáte pole dokumentů, uloží je všechny v jedné operaci, což je rychlejší než jejich vkládání jeden po druhém.

Metoda se spouští pro konkrétní kolekci pomocí vzoru db.collection.insert(). Pokud cílová kolekce ještě neexistuje, MongoDB vytvoří jej automaticky při prvním vložení. Každý dokument také obdrží jedinečné pole _id, pokud ho neposkytnete, takže každý záznam lze později identifikovat.

I když insert() stále funguje, novější MongoDB Verze poskytují insertOne() a insertMany() jako přehlednější náhrady. Níže uvedené příklady používají insert() k přidání pole dokumentů zaměstnanců a následnému zobrazení výsledků v čitelném formátu JSON.

Přidání pole dokumentů

Příkaz „insert“ lze také použít k vložení více dokumentů do kolekce najednou. Níže uvedený příklad kódu lze použít k vložení více dokumentů najednou.

Následující příklad ukazuje, jak to lze provést,

Krok 1) Vytvořit JavaScénář proměnnou nazvanou myEmployee pro uložení pole dokumentů

Krok 2) Přidejte požadované dokumenty s názvem pole a hodnotami do proměnné

Krok 3) Pomocí příkazu insert vložte pole dokumentů do kolekce

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

	db.Employee.insert(myEmployee);

Pokud je příkaz úspěšně proveden, zobrazí se následující výstup

MongoDB Pole objektů pomocí insert()

Výstup ukazuje, že tyto 3 dokumenty byly přidány do sbírky.

Jak vložit pole do dokumentu

Kromě vkládání pole samostatných dokumentů, MongoDB umožňuje uložit pole jako pole v jednom dokumentu. To je užitečné, když jeden záznam přirozeně obsahuje seznam hodnot, například zaměstnanec s několika dovednostmi nebo student zapsaný do více kurzů. Protože MongoDB používá flexibilní model dokumentu, pole se nachází přímo uvnitř objektu, nikoli v samostatné tabulce, která uchovává související data pohromadě.

Následující příklad vloží jeden dokument zaměstnance, který obsahuje pole s názvem Dovednosti:

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

Části tohoto dokumentu fungují následovně:

  • ID zaměstnance a Jméno zaměstnance jsou běžné páry pole a hodnoty.
  • schopnosti je pole pole, které obsahuje tři řetězcové hodnoty uvnitř hranatých závorek.
  • Celý dokument, včetně vloženého pole, je uložen v jediné operaci vložení.

Po přidání záznamu můžete vložené pole ověřit pomocí vyhledávacího dotazu, který výsledek vypíše ve formátu JSON:

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

Výstup zobrazuje pole Skills vnořené v dokumentu zaměstnance. Later, můžete do pole přidávat nové hodnoty pomocí operátoru $push nebo číst jeden prvek podle jeho indexové pozice. Ukládání propojených hodnot tímto způsobem udržuje každý dokument samostatný, snižuje potřebu spojení napříč kolekcemi a usnadňuje čtení a údržbu dat.

insert() vs. insertOne() vs. insertMany()

MongoDB nabízí tři související metody pro přidávání dat. Níže uvedená tabulka je porovnává, abyste si mohli vybrat tu správnou:

Metoda Účel Příklad
vložit() Starší metoda, která přidává jeden dokument nebo pole dokumentů. Stále funguje, ale v novějších ovladačích je zastaralá. db.Zaměstnanec.insert(můjZaměstnanec)
vložitJeden() Přidá přesně jeden dokument a vrátí jeho vložené _id. Preferováno pro jednotlivé záznamy. db.Employee.insertOne({ … })
insertMany() Přidá pole dokumentů v jednom volání a vrátí všechny vložené _ids. Vhodné pro hromadné vkládání. db.Employee.insertMany([ { … }, { … } ])

Pro nové projekty používejte metody insertOne() a insertMany(), protože poskytují jasnější záměr a lepší hlášení chyb. Metoda insert() zůstává k dispozici hlavně kvůli zpětné kompatibilitě se staršími tutoriály a skripty.

Tisk ve formátu JSON

JSON je formát nazvaný JavaZápis objektu skriptua je to jen způsob, jak ukládat informace organizovaným a snadno čitelným způsobem. V našich dalších příkladech použijeme tiskovou funkci JSON, abychom viděli výstup v lepším formátu.

Podívejme se na příklad tisku ve formátu JSON

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

Code Vysvětlení:

  1. První změnou je připojení funkce s názvem forEach() k funkci find(). To zajistí, že se explicitně projde každý dokument v kolekci. Tímto způsobem máte větší kontrolu nad tím, co můžete s každým dokumentem v kolekci dělat.
  2. Druhou změnou je vložení příkazu printjson do příkazu forEach. To způsobí, že se každý dokument v kolekci zobrazí ve formátu JSON.

Pokud je příkaz úspěšně proveden, zobrazí se následující výstup

Výstup:

Tisk ve formátu JSON

Výstup jasně ukazuje, že všechny dokumenty jsou vytištěny ve stylu JSON.

Nejčastější dotazy

Ano. Předání pole dokumentů metodě insert() je všechny přidá v jedné operaci. Toto hromadné vkládání je rychlejší než volání insert() samostatně pro každý dokument, ačkoli insertMany() je nyní preferovanou metodou.

Ano. Pokud dokument neobsahuje pole _id, MongoDB Během vkládání automaticky generuje jedinečné ObjectId, takže každý uložený záznam lze později identifikovat a načíst.

Ve výchozím nastavení MongoDB Provede seřazené vkládání. Přidá dokumenty v daném pořadí a zastaví se u první chyby, zbývající dokumenty zůstanou nevložené. Nastavením proměnné ordered na hodnotu false se pokračuje i po chybách.

Ano. Nástroje umělé inteligence dokáží převést popis vašich dat v jednoduchém jazyce na příkazy insertOne() nebo insertMany(), včetně vložených polí. Před spuštěním v databázi vždy zkontrolujte vygenerovaná pole a datové typy.

Umělá inteligence dokáže na základě vašich vzorců dotazů navrhnout, zda vložit pole do dokumentu nebo odkazovat na samostatné kolekce. To pomáhá začátečníkům efektivně modelovat data a zároveň se vyhnout zbytečné duplicitě nebo příliš hlubokému vnořování.

Shrňte tento příspěvek takto: