Komme i gang med MongoDB for nybegynneren

Lær hva MongoDB, installasjonsveiledning og grunnleggende drift er.


MongoDB NoSQL trender mer enn noen gang. Har du en nødvendig forståelse av det?

Ikke bekymre deg hvis ikke, følgende vil hjelpe deg.

Introduksjon

Siden nettstedet tok et paradigmeskifte mot dynamisk innhold, økte etterspørselen etter No-SQL-database. Dette ga opphav til mange No-SQL-databaser som MongoDB.

MongoDB, klassifisert som en No-SQL-database, er en dokumentbasert database som lagrer dataene i form av JSON-dokumenter med en autogenerert identifisert for hvert dokument.

En No-SQL-database er en database der tabellstrukturen ikke er fast, i motsetning til strukturerte SQL-databaser. MongoDB lagrer dataene i form av JSON-streng uavhengig av antall attributter eller navn på attributter i en bestemt kolonne.

Dette lar utviklerne raskt gjøre endringer i enhetene uten behov for endringer i databasenivået.

Installerer MongoDB

MongoDB, akkurat som alle andre databaser, er tilgjengelig i flere varianter avhengig av utviklingsbehov. Variantene er listet opp nedenfor og kan brukes eller lastes ned fra dette link

  • MongoDB Atlas – Database som en tjeneste
  • Community Server – Gratis å bruke for fellesskapet av utviklere
  • MongoDB Enterprise Edition – Den kommersielle versjonen med tilleggsfunksjoner

Hver av disse er fullt kompatible med alle operativsystemer. Til å begynne med, installasjon av community server, last ned den aktuelle installasjonsfilen i henhold til operativsystemet ditt.

Installasjonsprosessen skiller seg litt ut for hvert operativsystem, og derfor vil vi gå gjennom hver operativsysteminstallasjon separat.

Installere i MacOS

Slik installerer du MongoDB i MacOS. Last ned .tgz-arkivet som inneholder de nødvendige binærene i det. Når du fjerner arkiveringen av filen, skal du kunne se en haug med binære filer som ligger i bin mappe.

  • Flytt søppelmappen til ønsket sted
  • Åpne en terminal og endre katalogen til søppelkatalogen som er nevnt over
  • Utfør kommandoen nedenfor for å opprette en database på ønsket sted.

$ ./mongod – dbpath / path-to-ønsket-katalog /

I kommandoen ovenfor, erstatt banen til katalogen med ønsket bane, og serveren vil bli startet så snart kommandoen er utført.

Installere i Windows

MongoDB nedlastingssenter gir en kjørbar .msi pakke for å installere MongoDB i windows. Installasjonen i windows er ganske grei og kan gjøres ved hjelp av noen få kommandoer når installasjonen er lastet ned.

  • Utfør kommandoene nedenfor for å installere MongoDB i Windows PC / server.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
install ="C: \ Programfiler \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Kommandoene ovenfor vil ta deg til den tilsvarende katalogen og utføre oppsettet for installasjon på det angitte stedet. Når den er installert, må du konfigurere standard databaselagringsbane for MongoDB. Kommandoen nedenfor hjelper deg med å konfigurere det samme

> md \ db \ data

Kommandoen ovenfor oppretter en db / datamappe i katalogen der ledeteksten peker på for øyeblikket. Hvis du trenger å konfigurere databasen på nytt, kan du bruke mongod.exe med dbpath argument som vist nedenfor:

>"C: \ Program Files \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Installere i Linux

I likhet med MacOS-nedlastningene er MongoDB for Linux-varianter også tilgjengelig i form av en arkivert haug med binære filer. Prosessen for å installere MongoDB er ganske lik.

  • Flytt binærene til ønsket sted
  • Åpne terminalen i mappen
  • Utfør kommandoen nedenfor med ønsket DB-plassering

$ ./mongod – dbpath / path-to-ønsket-katalog /

Lage den første samlingen

MongoDB lagrer dataene i form av JSON-dokumenter. En gruppe av slik dokumentasjon er samlet kjent som en samling i MongoDB. Dermed er en samling analog med en tabell i en relasjonsdatabase mens et dokument er analogt med en post.

For å lagre dokumenter, må vi først lage en samling. Det spennende med en NoSQL-database er at i motsetning til SQL-database, trenger du ikke spesifisere kolonnenavn eller datatyper i den.

Det første trinnet mot å lage en samling er å lage en database. For å opprette en database og koble til den ved hjelp av kommandolinjen, utfør kommandoen nedenfor fra MongoDB-installasjonens hjemmekatalog.

$ ./bin/mongo tutorial

Denne kommandoen brukes til å starte databaseforbindelsen og koble til opplæringsdatabasen samtidig. Det vil vise en haug med linjer i loggen for å indikere at kommandolinjen har koblet seg til MongoDB-databasen.

Et eksempel på et kommandolinjebilde er vist nedenfor for å gi deg en bedre ide om det samme.

  • For å opprette en samling, kjør kommandoen nedenfor:

$ > db.createCollection ( ‘firstCollection’);

Slik opprettes en tom samling. Neste trinn er å sette inn data og gjøre litt behandling på postene ved å bruke kommandolinjen MongoDB.

Sette inn et dokument i samlingen

Som diskutert ovenfor, er det mulig å sette inn nesten hvilken som helst JSON i hver MongoDB-samling.

La oss starte med å sette inn det første JSON-dokumentet i firstCollection samlingen opprettet ovenfor.

> db.firstCollection.insertOne ({name: ‘Abhishek’, dyktighet: ‘MongoDB’});

Kommandoen ovenfor setter inn et enkelt JSON-dokument i den første samlingen. Det samme kan bekreftes ved å bruke kommandoen vist nedenfor:

> db.firstCollection.find ();

Kommandoen ovenfor har flere bruksområder, avhengig av variasjonen av søkefunksjonen. Når det ikke er angitt argumenter som er tilfelle med kommandoen ovenfor, henter den alle tilgjengelige dokumenter fra samlingen.

Du kan sette inn en post til og prøve det samme. Når du gjør det, vil utdataene fra kommandoen ovenfor være lik den som er vist nedenfor:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "Navn" : "Abhishek", "ferdighet" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "Navn" : "GeekFlare", "ferdighet" : "Java, MongoDB, NodeJS" }

Som det kan sees, er det to tilgjengelige poster som blir vist. Finne () -funksjonen kan enkelt brukes til å filtrere dokumentene basert på spesifikke parametere. La oss filtrere dokumentet ved å bruke attributt.

Filterprosessen er enkel, og det kan forstås fra kommandoen nedenfor:

db.firstCollection.find ({navn: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "Navn" : "Abhishek", "ferdighet" : "MongoDB" }

Filteret kan også brukes med flere attributter i JSON. Selv om det er mulig å legge til et hvilket som helst antall parametere til spørringen, er begrensningen av denne tilnærmingen at den bare samsvarer med den nøyaktige verdien av attributter.

Filtrering av poster med Regex

For å utføre en MongoDB-ekvivalent av en MySQL-lignende klausul, bruker MongoDB regex. Regex er en serie karakterer som danner et mønster som skal matche. Regex-bokstavene ligner på de som er brukt i Javascript.

For den nåværende samlingen vil vi prøve å hente dataene ved å matche et mønster for ferdighetsattributtet. Kommandoen nedenfor får listen over personer med ferdigheten MongoDB. Dermed vil den hente to poster da begge inneholder strengen MongoDB.

> db.firstCollection.find ({dyktighet. /.* MongoDB * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "Navn" : "Abhishek", "ferdighet" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "Navn" : "GeekFlare", "ferdighet" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({dyktighet. /.* Java * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "Navn" : "GeekFlare", "ferdighet" : "Java, MongoDB, NodeJS" }

Koden ovenfor viser resultatet av to forskjellige strenger i regex-skjemaet. Den første spørringen henter listen over et dokument der ferdighetsattributtet inneholder nøkkelordet MongoDB, mens den andre henter kun dyktige i Java.

Den neste utfordringen i spørring basert på kriterier er å spørre med en OR eller AND-tilstand.

Komplekse spørsmål i MongoDB

Som det fremgår av kommandoene ovenfor, MongoDB hvor klausuler fungerer på JSON. Prosessen med å kombinere forhold er også avhengig av JSON selv. MongoDB gir operatører som $ eller, $ og så vel som $ ikke å gjøre de relevante spørringsoperasjonene.

La oss prøve å få listen over dokumenter der navneattributtet inneholder Abhishek eller ferdigheter inneholder Java.

> db.firstCollection.find ({$ eller: [{navn: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "Navn" : "Abhishek", "ferdighet" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "Navn" : "Geekflare", "ferdighet" : "Java, MongoDB, NodeJS" }

Som det kan sees, henter den begge postene. Du kan prøve å bruke navneattributtet som Geekflare og se endringen. Bare dokumentet med tre ferdigheter og navn Geekflare vil vises.

Tilsvarende er det mulig å bruke $ og operatør med en JSON-serie betingelser som vist ovenfor.

For det neste settet med operatører, må vi lage en samling til og legge til noen poster til den ved hjelp av kommandoene nedenfor.

> db.createCollection ( ‘studentmarks’);
{ "ok" : 1 }
> db.studentmarks.insertMany ([{name: ‘A’, tegn: 20}, {name: ‘B’, tegn: 25}, {name: ‘C’, tegn: 22}, {name: ‘D’, merkene: 30}]);
{
"anerkjente" : sant,
"insertedIds" : [
Objekt ("5b06e7b5c29a7184535e783c"),
Objekt ("5b06e7b5c29a7184535e783d"),
Objekt ("5b06e7b5c29a7184535e783e"),
Objekt ("5b06e7b5c29a7184535e783f")
]
}

Det neste settet med operatører som vi vil bruke er sammenligningsoperatører i spørringen. For å sammenligne verdier ved å bruke kriterier som mindre enn eller større enn eller ikke lik, vi bruker de aktuelle operatørene i verdien vi passerer.

Et eksempel på å få en liste over elever med karakterer over 22 er vist nedenfor.

db.studentmarks.find ({tegn: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "Navn" : "B", "merker" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "Navn" : "D", "merker" : 30}

$ Gt her indikerer større enn i kriteriene. Dermed vises dokumentene med merker enn 22. Tilsvarende er det andre operatører som kan brukes. De er listet opp nedenfor.

Operatør
Bruk
Eksempel
$ eqSjekk om verdien er lik{tegn: {$ eq: 20}}
$ ltSjekk om verdien er mindre enn{merker: {$ lt: 20}}
$ gteSjekk om verdien er større enn eller lik{Merkene: {$ gte: 22}}
$ lteSjekk om verdien er mindre takk eller lik{Merkene: {$ lte: 22}}
$ neSjekk om verdien ikke er lik{tegn: {$ ne: 22}}
$ iSjekk om verdien er lik en av verdiene fra matrisen{Merkene: {$ i: [20,22]}}
$ ninSjekk om verdien ikke er lik noen verdi fra matrisen{Merkene: {$ nin: [22,25]}}

GUI for MongoDB

I diskusjonen over har vi brukt en kommandolinje for å utføre spørsmålene våre i MongoDB.

Det kan være utfordrende å bruke kommandolinjen når det kommer til kompliserte spørsmål og en større haug med data. For å gjøre det lettere å se dataene og utføre spørsmålene, gir MongoDB deg et utmerket GUI-verktøy kalt MongoDB Compass.

MongoDB kompass kan enkelt lastes ned fra MongoDB laster ned nettstedet. Når du har lastet ned og installert MongoDB Compass, starter du applikasjonen, og du vil bli ønsket velkommen av en skjerm som ligner på skjermen vist nedenfor.

MongoDBCompass

Tatt i betraktning at du har MongoDB-serveren i gang, klikker du på koble til med standardinformasjonen. Du skal være logget inn og vise listen over tilgjengelige databaser.

Klikk på opplæringsdatabasen for å sjekke listen over samlinger i opplæringsbasen. Som vist nedenfor viser den listen over tilgjengelige samlinger i opplæringsdb.

Når du klikker på samlingen, viser den listen over dokumenter med de nødvendige kontrollene for å filtrere postene ved hjelp av en JSON, så vel som muligheten til å vise dokumentene i et JSON-format eller i tabellformat etter vår bekvemmelighet.

GUI gjør det enklere å legge til et dokument. Alt du trenger å gjøre er å klikke på Sett inn dokument-knappen på skjermen nedenfor. Det åpner en liten dialog der du ber om dokumentdetaljene med en automatisk generert dokument-ID.

MongoDBDocuments

GUI forenkler mange operasjoner som kan være vanskelig å utføre ved å bruke MongoDB kommandolinjegrensesnitt.

Konklusjon

Vi fanget essensen av NoSQL med en rekke eksempler og forstått installasjonen, hvordan dokumenter er forskjellige sammenlignet med en typisk relasjonsdatabasepost. Du kan også henvise til dette lære MongoDB fra bunnen av nettkurs.

Og hvis du er en utvikler, kan du være interessert i denne.

TAGS:

  • database

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Комментариев нет, будьте первым кто его оставит

    Комментарии закрыты.

    Adblock
    detector