MongoDB Objektien joukko käyttämällä insert()-komentoa esimerkin kanssa
⚡ Älykäs yhteenveto
MongoDB Objektitaulukon luominen insert()-funktiolla näyttää, kuinka useita dokumentteja lisätään kokoelmaan yhdellä operaatiolla. Se tallentaa työntekijätietojen taulukon, upottaa taulukoita dokumentin sisään ja näyttää tulokset siististi JSON-tulostusfunktion avulla.

Mikä on insert()-metodi? MongoDB?
Insert()-metodi MongoDB lisää yhden tai useamman dokumentin kokoelmaan. Dokumentti on joukko kenttä-arvo-pareja, jotka on tallennettu BSON-muotoon, joka on JSON:n binäärimuoto. Kun välität yhden dokumentin, insert() tallentaa kyseisen yhden tietueen; kun välität taulukon dokumentteja, se tallentaa ne kaikki yhdellä toiminnolla, mikä on nopeampaa kuin niiden lisääminen yksi kerrallaan.
Metodi suoritetaan tiettyä kokoelmaa vastaan käyttämällä mallia db.collection.insert(). Jos kohdekokoelmaa ei vielä ole olemassa, MongoDB luo sen automaattisesti ensimmäisen lisäyksen yhteydessä. Jokainen dokumentti saa myös yksilöllisen _id-kentän, jos et anna sellaista, jotta jokainen tietue voidaan tunnistaa myöhemmin.
Vaikka insert() toimii edelleen, uudemmat MongoDB versiot tarjoavat selkeämpiä korvikkeita funktioille insertOne() ja insertMany(). Alla olevissa esimerkeissä insert()-funktiota käytetään lisäämään taulukko työntekijädokumentteja ja näyttämään tulokset luettavassa JSON-muodossa.
Dokumenttijoukon lisääminen
"Insert"-komentoa voidaan käyttää myös useiden asiakirjojen lisäämiseen kokoelmaan kerralla. Alla olevaa koodiesimerkkiä voidaan käyttää useiden asiakirjojen lisäämiseen kerralla.
Seuraava esimerkki näyttää, kuinka tämä voidaan tehdä,
Vaihe 1) Luo JavaKäsikirjoitus muuttuja nimeltä myEmployee dokumenttijoukon säilyttämiseen
Vaihe 2) Lisää muuttujaan tarvittavat asiakirjat Kentän nimellä ja arvoilla
Vaihe 3) Käytä insert-komentoa lisätäksesi asiakirjajoukon kokoelmaan
var myEmployee= [ { "Employeeid" : 1, "EmployeeName" : "Smith" }, { "Employeeid" : 2, "EmployeeName" : "Mohan" }, { "Employeeid" : 3, "EmployeeName" : "Joe" }, ]; db.Employee.insert(myEmployee);
Jos komento suoritetaan onnistuneesti, seuraava Output näytetään
Tulos osoittaa, että nämä 3 asiakirjaa lisättiin kokoelmaan.
Kuinka lisätä taulukko dokumentin sisään
Erillisten asiakirjojen lisäämisen lisäksi MongoDB voit tallentaa taulukon kenttänä yhden asiakirjan sisällä. Tästä on hyötyä, kun yksi tietue sisältää luonnostaan luettelon arvoista, kuten työntekijän, jolla on useita taitoja, tai opiskelijan, joka on ilmoittautunut useille kursseille. Koska MongoDB käyttää joustavaa dokumenttimallia, jossa taulukko sijaitsee suoraan objektin sisällä erillisen taulukon sijaan, mikä pitää toisiinsa liittyvät tiedot yhdessä.
Seuraava esimerkki lisää yhden työntekijäasiakirjan, joka sisältää Skills-nimisen taulukkokentän:
db.Employee.insert( { "Employeeid" : 4, "EmployeeName" : "Alan", "Skills" : [ "MongoDB", "Node.js", "Express" ] } );
Tämän asiakirjan osat toimivat seuraavasti:
- Työntekijätunnus ja Työntekijän nimi ovat tavallisia kenttä-arvo-pareja.
- Taidot on taulukkokenttä, joka sisältää kolme merkkijonoarvoa hakasulkeiden sisällä.
- Koko dokumentti, mukaan lukien upotettu taulukko, tallennetaan yhdellä lisäystoiminnolla.
Tietueen lisäämisen jälkeen voit vahvistaa upotetun taulukon find-kyselyllä, joka tulostaa tuloksen JSON-muodossa:
db.Employee.find( { "Employeeid" : 4 } ).forEach(printjson)
Tuloste näyttää Skills-taulukon työntekijädokumentin sisällä. Later, voit lisätä uusia arvoja taulukkoon $push-operaattorilla tai lukea yksittäisen elementin sen indeksisijainnin perusteella. Yhdistettyjen arvojen tallentaminen tällä tavalla pitää jokaisen dokumentin itsenäisenä, vähentää liitosten tarvetta kokoelmien välillä ja helpottaa tietojen lukemista ja ylläpitoa.
lisää() vs. lisääYksi() vs. lisääMany()
MongoDB tarjoaa kolme toisiinsa liittyvää menetelmää tietojen lisäämiseen. Alla oleva taulukko vertailee niitä, jotta voit valita oikean:
| Menetelmä | Tarkoitus | esimerkki |
|---|---|---|
| lisää () | Perinteinen menetelmä, joka lisää yhden dokumentin tai dokumenttitaulukon. Se toimii edelleen, mutta on vanhentunut uudemmissa ajureissa. | db.Työntekijä.insert(myEmployee) |
| lisääYksi() | Lisää täsmälleen yhden dokumentin ja palauttaa sen lisätyn _id:n. Suositellaan yksittäisille tietueille. | db.Employee.insertOne({ … }) |
| lisääMany() | Lisää taulukon dokumentteja yhdellä kutsulla ja palauttaa kaikki lisätyt _id:t. Suositellaan joukkolisäyksille. | db.Employee.insertMany([ { … }, { … } ]) |
Uusissa projekteissa käytä insertOne()- ja insertMany()-metodeja, koska ne antavat selkeämmän tarkoituksen ja paremman virheraportoinnin. Insert()-metodi on edelleen käytettävissä pääasiassa taaksepäin yhteensopivuuden vuoksi vanhempien tutoriaalien ja skriptien kanssa.
Tulostus JSON-muodossa
JSON on muoto nimeltä JavaScript Object Notation, ja se on vain tapa tallentaa tietoja järjestelmällisesti ja helposti luettavalla tavalla. Muissa esimerkeissämme aiomme käyttää JSON-tulostustoimintoa nähdäksemme tulosteen paremmassa muodossa.
Katsotaanpa esimerkkiä tulostamisesta JSON-muodossa
db.Employee.find().forEach(printjson)
Code Selitys:
- Ensimmäinen muutos on forEach()-nimisen funktion liittäminen find()-funktioon. Tämä varmistaa, että jokainen kokoelman dokumentti käydään läpi erikseen. Tällä tavoin voit hallita paremmin sitä, mitä voit tehdä kullekin kokoelman dokumentille.
- Toinen muutos on laittaa printjson-komento forEach-käskyyn. Tämä aiheuttaa sen, että jokainen kokoelman asiakirja näytetään JSON-muodossa.
Jos komento suoritetaan onnistuneesti, seuraava Output näytetään
lähtö:
Tulos osoittaa selvästi, että kaikki asiakirjat tulostetaan JSON-tyylillä.


