MongoDB: n käyttö aloitetaan 10 minuutissa

by Navindu Jayatilake

MongoDB on rikas dokumenttipainotteinen NoSQL-tietokanta.

Jos olet täysin aloittelija NoSQL: lle, suosittelen vilkaisemaan pikaisesti aiemmin julkaistua NoSQL-artikkeliani.

Tänään halusin jakaa joitakin MongoDB-komentojen perusjuttuja, kuten kyselyä, datan suodattamista, poistamista, päivittämistä ja niin edelleen.

okei, puheet sikseen, ruvetaan hommiin!

kokoonpano ?

toimiaksesi MongoDB: n kanssa sinun on ensin asennettava MongoDB tietokoneellesi. Voit tehdä tämän vierailemalla virallisessa latauskeskuksessa ja lataamalla version omalle KÄYTTÖJÄRJESTELMÄLLESI. Olen käyttänyt ikkunoita.

kun olet ladannut MongoDB community server setup-ohjelman, käyt läpi ”next after next” – asennusprosessin. Kun valmis, pään yli C asema, johon olet asentanut MongoDB. Mene ohjelmatiedostot ja valitse MongoDB Hakemisto.

C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin

bin-hakemistosta löytyy mielenkiintoinen pari suoritettavaa tiedostoa.

  • mongod
  • mongo

puhutaan näistä kahdesta kansiosta.

mongod tulee sanoista ”Mongo Daemon”. mongod on mongodbin käyttämä taustaprosessi. Mongodin päätarkoitus on hallita kaikkia MongoDB-palvelintehtäviä. Esimerkiksi pyyntöjen hyväksyminen, asiakkaalle vastaaminen ja muistin hallinta.

mongo on komentorivin komentotulkki, joka voi olla vuorovaikutuksessa asiakkaan (esimerkiksi järjestelmän ylläpitäjien ja kehittäjien) kanssa.

nyt katsotaan, miten saamme tämän palvelimen toimimaan. Voit tehdä sen Windowsissa, ensin sinun täytyy luoda pari hakemistoa C-asemaan. Avaa komentokehote C-aseman sisällä ja tee seuraavasti:

C:\> mkdir data/dbC:\> cd dataC:\> mkdir db

näiden hakemistojen tarkoitus on MongoDB vaatii kansion kaiken tiedon tallentamiseen. MongoDB: n oletustietohakemiston polku on /data/db levyllä. Siksi on välttämätöntä, että annamme nämä hakemistot näin.

Jos käynnistät MongoDB-palvelimen ilman näitä hakemistoja, näet todennäköisesti tämän seuraavan virheen:

yrittää käynnistää mongodb-palvelinta ilman \data\db-hakemistoja

luotuaan nämä kaksi tiedostoa suuntaa uudelleen MongoDB-hakemistossasi olevaan bin-kansioon ja avaa komentotulkkisi sisällä se. Suorita seuraava komento:

mongod

Voilà! Nyt MongoDB-palvelimemme on toiminnassa! ?

tämän palvelimen kanssa toimimiseen tarvitaan sovittelija. Avaa siis toinen komentoikkuna bind-kansion sisällä ja suorita seuraava komento:

mongo

tämän komennon suorittamisen jälkeen siirry komentotulkkiin, jolla suoritimme mongod-komennon (joka on palvelimemme). Näet ’yhteys hyväksytty’ viestin lopussa. Tämä tarkoittaa, että asennus ja kokoonpano on onnistunut!

vain yksinkertaisesti juokse mongon kuoressa:

db
aluksi on db nimeltään”testi”

ympäristömuuttujien asettaminen

ajan säästämiseksi voit määrittää ympäristömuuttujasi. Windowsissa tämä tapahtuu alla olevia valikkoja seuraamalla:

Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit

yksinkertaisesti kopioi bin-kansiomme polku ja paina OK! Minun tapauksessani se on C:\Program Files\MongoDB\Server\4.0\bin

nyt olet valmis!

työskentely MongoDB: n kanssa

MongoDB-palvelimen kanssa toimii joukko Guita (graafinen käyttöliittymä), kuten MongoDB Compass, Studio 3t ja niin edelleen.

ne tarjoavat graafisen käyttöliittymän, joten voit helposti työskennellä tietokantasi kanssa ja suorittaa kyselyjä sen sijaan, että käyttäisit komentotulkkia ja kirjoittaisit kyselyt manuaalisesti.

mutta tässä artikkelissa käytämme komentorivi tehdä työmme.

nyt on aika sukeltaa MongoDB-komentoihin, jotka auttavat sinua käyttämään tulevia projektejasi.

  1. avaa komentokehote ja kirjoita mongod käynnistääksesi MongoDB-palvelimen.

2. Avaa toinen tulkki ja kirjoita mongo muodostaaksesi yhteyden MongoDB-tietokantapalvelimeen.

1. Etsi nykyinen tietokanta, jossa olet

db

Tämä komento näyttää nykyisen tietokannan, jossa olet. test on oletusarvon mukainen alkuperäinen tietokanta.

2. Tietokantojen listaaminen

show databases

minulla on tällä hetkellä neljä tietokantaa. Ne ovat: CrudDBadminconfig ja local.

3. Mene tiettyyn tietokantaan

use <your_db_name>

täällä olen siirtynyt local tietokanta. Voit tarkistaa tämän, jos yrität komennolla db tulostaa nykyisen tietokannan nimen.

4. Tietokannan luominen

kanssa RDBMS (Relational Database Management Systems) meillä on tietokantoja, taulukoita, rivejä ja sarakkeita.

mutta NoSQL-tietokannoissa, kuten MongoDB: ssä, data on tallennettu BSON-muodossa (binääriversio JSON: stä). Niitä säilytetään rakenteissa, joita kutsutaan ”kokoelmiksi”.

SQL-tietokannoissa nämä muistuttavat taulukoita.

SQL-termit ja NoSQL-termit by Victoria Malaya

alright, puhutaan siitä, miten luomme tietokannan mongon kuoreen.

use <your_db_name>

odota, meillä oli tämä komento ennen! Miksi käytän sitä taas?!

MongoDB-palvelimessa, jos tietokanta on jo olemassa, tämän komennon avulla navigoidaan tietokantaan.

mutta jos tietokantaa ei ole jo olemassa, MongoDB-palvelin luo tietokannan sinulle. Sitten se navigoi siihen.

uuden tietokannan luomisen jälkeen show database komento ei näytä uutta tietokantaa. Tämä johtuu siitä, kunnes se on mitään tietoja (asiakirjoja) siinä, se ei näy db-luettelossa.

5. Luodaan kokoelma

siirry uuteen tietokantaan komennolla use.

oikeastaan on kaksi tapaa luoda kokoelma. Näytä molemmat.

yksi tapa on lisätä tietoa kokoelmaan:

db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})

tämä luo kokoelmasi myCollection vaikka kokoelmaa ei olisikaan. Tämän jälkeen se lisää asiakirjan, jossa name ja age. Nämä ovat rajaamattomia kokoelmia.

toinen tapa on esitetty alla:

2.1 Rajaamattoman kokoelman luominen

db.createCollection("myCollection")

2.2 rajatun kokoelman luominen

db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})

näin luot kokoelman lisäämättä tietoja.

”rajatulla kokoelmalla” on suurin asiakirjamäärä, joka estää asiakirjojen tulvimisen.

tässä esimerkissä olen mahdollistanut ylärajan asettamalla sen arvoksi true.

size : 2

tarkoittaa kahden megatavun rajaa, ja

max: 2

asettaa dokumenttien enimmäismääräksi kaksi.

nyt jos yrität lisätä enemmän kuin kaksi dokumenttia mySecondCollection ja käytät find – komentoa (josta puhumme pian), näet vain viimeisimmät lisätyt dokumentit. Muista tämä ei tarkoita, että ensimmäinen asiakirja on poistettu-se ei vain näy.

6. Lisäämällä tietoa

voimme lisätä tietoa uuteen kokoelmaan tai aiemmin luotuun kokoelmaan.

tapoja, joilla tiedot voidaan tallentaa jsoniin

on olemassa kolme tapaa lisätä tietoja.

  1. insertOne() käytetään vain yhden asiakirjan liittämiseen.
  2. insertMany() käytetään useamman kuin yhden asiakirjan liittämiseen.
  3. insert() käytetään lisäämään dokumentteja niin paljon kuin haluat.

alla muutamia esimerkkejä:

  • insertOne()
db.myCollection.insertOne( { "name": "navindu", "age": 22 })
  • insertMany ()
  • db.myCollection.insertMany()

    insert()menetelmä on samanlainen kuininsertMany()method.

    myös huomaa, että olemme lisänneet location asiakirjaan John Doe. Joten jos käytät find, näet vain john doelocation ominaisuus on liitteenä.

    tästä voi olla etua, kun puhutaan NoSQL-tietokannoista, kuten MongoDB: stä. Se mahdollistaa skaalautuvuuden.

    onnistuneesti lisätty tieto

    7. Kyselytiedot

    Näin voit tiedustella kaikki tiedot kokoelmasta:

    db.myCollection.find()
    tulos

    Jos haluat nähdä nämä tiedot puhtaampana, lisää .pretty() sen loppuun. Tämä näyttää asiakirjan melko painettu JSON muodossa.

    db.myCollection.find().pretty()
    tulos

    Wait…In nämä esimerkit huomasitko juuri jotain _id? Miten se sinne joutui?

    aina kun lisäät asiakirjan, MongoDB lisää automaattisesti _id kentän, joka yksilöi jokaisen asiakirjan. Jos et halua sen näyttävän, suorita seuraava komento

    db.myCollection.find({}, _id: 0).pretty()

    seuraavaksi, katsomme suodatustietoja.

    Jos haluat näyttää tietyn asiakirjan, voit määrittää yksittäisen yksityiskohdan asiakirjasta, jonka haluat näytettäväksi.

    db.myCollection.find( { name: "john" })
    tulos

    sanotaan, että haluat näyttää vain henkilöt, joiden ikä on alle 25. Voit suodattaa tätä käyttämällä $lt.

    db.myCollection.find( { age : {$lt : 25} })

    vastaavasti $gt tarkoittaa suurempaa kuin, $lte on ”pienempi tai yhtä suuri kuin”, $gte on ”suurempi tai yhtä suuri” ja $ne on ”ei yhtä suuri”.

    8. Asiakirjojen päivittäminen

    sanotaan, että haluat päivittää jonkun osoitteen tai iän, miten voisit tehdä sen? No, katso seuraava esimerkki:

    db.myCollection.update({age : 20}, {$set: {age: 23}})

    ensimmäinen argumentti on kenttä, jonka dokumenttia haluat päivittää. Tässä tarkennan age yksinkertaisuuden vuoksi. Tuotantoympäristössä voisi käyttää jotain _id – kenttää.

    on aina parempi käyttää jotain _id uniikin rivin päivittämiseen. Tämä johtuu siitä, että useilla kentillä voi olla sama age ja name. Siksi, Jos päivität yhden rivin, se vaikuttaa kaikkiin riveihin, joilla on sama nimi ja ikä.

    tulos

    Jos päivität asiakirjan tällä tavalla uudella ominaisuudella, sanotaan location esimerkiksi, asiakirjaa päivitetään uudella attribuutilla. Ja jos tehdään find, niin tulos on:

    tulos

    Jos haluat poistaa ominaisuuden yhdestä asiakirjasta, voit tehdä jotain tällaista (sanotaan, että haluat age poissa):

    9. Asiakirjan poistaminen

    kuten aiemmin mainitsin, kun päivität tai poistat asiakirjan, sinun tarvitsee vain määrittää _id ei vain nameagelocation.

    db.myCollection.remove({name: "navindu"});

    10. Poistamalla kokoelman

    db.myCollection.remove({});

    Huom, Tämä ei ole sama kuin drop() menetelmä. Erona on drop() käytetään poistamaan kaikki kokoelman sisällä olevat dokumentit, mutta remove() – menetelmää käytetään poistamaan kaikki asiakirjat itse kokoelman mukana.

    loogiset operaattorit

    MongoDB tarjoaa loogisia operaattoreita. Alla olevassa kuvassa on yhteenveto loogisten operaattoreiden eri tyypeistä.

    reference: MongoDB manual

    sanotaan, että haluat näyttää ihmiset, joiden ikä on alle 25, ja myös joiden sijainti on Colombo. Mitä voisimme tehdä?

    voimme käyttää $and operaattori!

    db.myCollection.find({$and:});

    viimeisenä mutta ei vähäisimpänä, puhutaan aggregaatiosta.

    Aggregation

    a quick reminder on what we learned about aggregation functions in SQL databases:

    aggregointifunktiot SQL-tietokannoissa. ref: Tutorial Gateway

    yksinkertaisesti sanottuna, kootaan ryhmät arvot useista dokumenteista ja tiivistetään ne jollakin tavalla.

    kuvitelkaa, jos meillä olisi mies-ja naisopiskelijoita recordBook kokoelmassa ja haluamme, että jokainen heistä lasketaan yhteen. Jotta saataisiin miesten ja naisten summa, voitaisiin käyttää $group aggregaattifunktiota.

    db.recordBook.aggregate();
    tulos

    paketointi

    niin, olemme keskustelleet MongoDB: n perusteet, joita saatat tarvita tulevaisuudessa sovelluksen rakentamiseen. Toivottavasti pidit tästä kirjoituksesta-kiitos lukemisesta!



    Vastaa

    Sähköpostiosoitettasi ei julkaista.