MongoDB Objektide massiiv kasutades insert() koos näitega

⚡ Nutikas kokkuvõte

MongoDB Objektide massiiv funktsiooni insert() abil näitab, kuidas lisada kollektsiooni mitu dokumenti ühe toiminguga. See salvestab töötajate kirjete massiivi, manustab massiivid dokumendi sisse ja kuvab tulemused selgelt JSON-i printimisfunktsiooni abil.

  • 📥 Hulgi sisestamine: Meetod insert() lisab kollektsioonile dokumentide massiivi ühe tõhusa toiminguga.
  • 🧾 Dokumendi mudel: Iga dokument on välja-väärtuse paaride kogum ja MongoDB lisab automaatselt unikaalse _id.
  • 🗂️ Sisseehitatud massiivid: Massiiv saab dokumendis paikneda ka väljana, näiteksping seotud väärtused koos.
  • 🔁 Kaasaegsed meetodid: insertOne() ja insertMany() on praegused ja selgemad asendused pärandmeetodile insert().
  • 🖨️ Readable Väljund: Käsk forEach(printjson) prindib iga dokumendi puhtas ja hõlpsasti loetavas JSON-vormingus.

Mis on insert() meetod? MongoDB?

Insert() meetod MongoDB lisab kollektsiooni ühe või mitu dokumenti. Dokument on välja-väärtuse paaride kogum, mis on salvestatud BSON-vormingus, mis on JSON-i binaarne vorm. Ühe dokumendi edastamisel salvestab insert() selle ühe kirje; dokumentide massiivi edastamisel salvestab see need kõik ühe toiminguga, mis on kiirem kui nende ükshaaval sisestamine.

Meetodit käivitatakse kindla kollektsiooni suhtes, kasutades mustrit db.collection.insert(). Kui sihtkogu pole veel olemas, MongoDB loob selle automaatselt esimese sisestamise ajal. Iga dokument saab ka unikaalse _id välja, kui te seda ei sisesta, nii et iga kirjet saab hiljem tuvastada.

Kuigi insert() ikka töötab, on uuemad MongoDB versioonid pakuvad selgemate asendustena funktsioone insertOne() ja insertMany(). Allolevates näidetes kasutatakse funktsiooni insert() töötajate dokumentide massiivi lisamiseks ja seejärel tulemuste kuvamiseks loetavas JSON-vormingus.

Dokumentide massiivi lisamine

Käsku "insert" saab kasutada ka mitme dokumendi lisamiseks kogusse korraga. Allolevat koodinäidet saab kasutada mitme dokumendi korraga sisestamiseks.

Järgmine näide näitab, kuidas seda teha,

Step 1) Loo JavaScript muutuja nimega myEmployee, mis hoiab dokumentide massiivi

Step 2) Lisa muutujale vajalikud dokumendid välja nime ja väärtustega

Step 3) Dokumentide massiivi lisamiseks kogusse kasutage käsku insert

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

	db.Employee.insert(myEmployee);

Kui käsk on edukalt täidetud, kuvatakse järgmine väljund

MongoDB Objektide massiiv kasutades insert()

Väljund näitab, et need 3 dokumenti lisati kogusse.

Kuidas dokumendi sisse massiivi lisada

Lisaks eraldi dokumentide massiivi lisamisele MongoDB võimaldab salvestada massiivi väljana ühte dokumenti. See on kasulik, kui üks kirje sisaldab loomulikult väärtuste loendit, näiteks töötaja, kellel on mitu oskust, või üliõpilane, kes on registreerunud mitmele kursusele. Sest MongoDB kasutab paindlikku dokumendimudelit, massiiv asub otse objekti sees, mitte eraldi tabelis, mis hoiab seotud andmed koos.

Järgmises näites lisatakse üks töötaja dokument, mis sisaldab massiivivälja nimega Oskused:

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

Selle dokumendi osad toimivad järgmiselt:

  • Töötaja ID ja TöötajaNimi on tavalised välja-väärtuse paarid.
  • Oskused on massiiviväli, mis hoiab nurksulgudes kolme stringiväärtust.
  • Kogu dokument, sealhulgas manustatud massiiv, salvestatakse ühe lisamistoiminguga.

Pärast kirje lisamist saate manustatud massiivi kinnitada otsingupäringuga, mis prindib tulemuse JSON-vormingus:

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

Väljund näitab töötaja dokumendi sisse pesastatud oskuste massiivi. Later, saate massiivi uusi väärtusi lisada operaatoriga $push või lugeda üksikut elementi selle indeksipositsiooni järgi. Ühendatud väärtuste selline salvestamine hoiab iga dokumendi iseseisvana, vähendab vajadust kollektsioonidevaheliste ühenduste järele ning muudab andmete lugemise ja haldamise lihtsamaks.

sisesta() vs sisestaOne() vs sisestaMany()

MongoDB pakub andmete lisamiseks kolme omavahel seotud meetodit. Allolev tabel võrdleb neid, et saaksite valida õige:

Meetod Eesmärk Näide
sisesta () Pärandmeetod, mis lisab ühe dokumendi või dokumentide massiivi. See töötab endiselt, kuid on uuemates draiverites aegunud. db.Employee.insert(minuTöötaja)
lisaÜks() Lisab täpselt ühe dokumendi ja tagastab selle sisestatud _id. Eelistatav üksikute kirjete puhul. db.Employee.insertOne({ … })
sisestaPalju() Lisab ühe päringuga dokumentide massiivi ja tagastab kõik sisestatud _id-d. Eelistatav hulgi lisamise korral. db.Employee.insertMany([ { … }, { … } ])

Uute projektide puhul kasutage insertOne() ja insertMany() funktsioone, kuna need annavad selgema kavatsuse ja parema veateate. Insert() meetod jääb kättesaadavaks peamiselt tagasiühilduvuse tagamiseks vanemate õpetuste ja skriptidega.

JSON-vormingus printimine

JSON on formaat nimega JavaSkripti objekti märkimine, ja see on lihtsalt viis teabe organiseeritud ja hõlpsasti loetaval viisil salvestamiseks. Järgmistes näidetes kasutame JSON-i printimisfunktsiooni, et näha väljundit paremas vormingus.

Vaatame JSON-vormingus printimise näidet

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

Code Selgitus:

  1. Esimene muudatus on funktsiooni forEach() lisamine funktsioonile find(). See tagab, et iga dokument kogumis läbi käiakse. Sel viisil on teil suurem kontroll selle üle, mida saate iga dokumendiga kogus teha.
  2. Teine muudatus on käsu printjson panemine lausesse forEach. Selle tulemusel kuvatakse kõik kogus olevad dokumendid JSON-vormingus.

Kui käsk on edukalt täidetud, kuvatakse järgmine väljund

Väljund:

JSON-vormingus printimine

Väljund näitab selgelt, et kõik dokumendid prinditakse JSON-stiilis.

KKK

Jah. Dokumentide massiivi edastamine funktsioonile insert() lisab need kõik ühe toiminguga. See hulgilisamine on kiirem kui funktsiooni insert() eraldi iga dokumendi jaoks kutsumine, kuigi insertMany() on nüüd eelistatud meetod.

Jah. Kui dokument ei sisalda _id välja, MongoDB sisestamise ajal genereerib see automaatselt unikaalse ObjectId, nii et iga salvestatud kirjet saab hiljem tuvastada ja hankida.

Vaikimisi MongoDB teostab järjestatud sisestamise. See lisab dokumendid etteantud järjekorras ja peatub esimese vea korral, jättes ülejäänud dokumendid sisestamata. „Tellitud” väärtuseks määramine väärtusele „väär” jätkab vigade minevikku.

Jah. Tehisintellekti tööriistad suudavad teie andmete lihtsas keeles kirjelduse muuta insertOne() või insertMany() lauseteks, sh manustatud massiivideks. Enne loodud väljade ja andmetüüpide käitamist andmebaasis vaadake need alati üle.

Tehisintellekt oskab teie päringumustrite põhjal soovitada, kas manustada massiive dokumendi sisse või viidata eraldi kogumitele. See aitab algajatel andmeid tõhusalt modelleerida, vältides samal ajal tarbetut dubleerimist või liiga sügavat pesastamist.

Võta see postitus kokku järgmiselt: