Hvordan komme I gang Med MongoDB i 10 minutter
Av Navindu Jayatilake
MongoDB er en rik dokument-orientert nosql database.
hvis Du er en komplett nybegynner Til NoSQL, anbefaler jeg deg å ta en rask titt på Min nosql artikkel publisert tidligere.I Dag ønsket Jeg å dele noen av de grunnleggende tingene Om MongoDB-kommandoer som spørring, filtrering av data, sletting, oppdatering og så videre.
ok, nok snakk, la oss komme på jobb!
Konfigurasjon ?
for å kunne jobbe Med MongoDB må du først installere MongoDB på datamaskinen. For å gjøre dette, besøk det offisielle nedlastingssenteret og last ned versjonen for ditt spesifikke OS. Her har Jeg brukt Windows.
etter nedlasting MongoDB community server setup, vil du gå gjennom en’ neste etter neste ‘ installasjonsprosessen. Når du er ferdig, gå over Til c-stasjonen der Du har installert MongoDB. Gå til programfiler og velg MongoDB-katalogen.
C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin
i bin-katalogen finner du et interessant par kjørbare filer.
- mongod
- mongo
La oss snakke om disse to filene.mongod står for «Mongo Daemon». mongod er en bakgrunnsprosess som Brukes Av MongoDB. Hovedformålet med mongod er å administrere Alle MongoDB serveroppgaver. For eksempel, godta forespørsler, svare på klient, og minnehåndtering.mongo er et kommandolinjeskall som kan samhandle med klienten (for eksempel systemadministratorer og utviklere).
nå la Oss se hvordan vi kan få denne serveren oppe og går. For Å gjøre Det På Windows, må du først opprette et par kataloger I c-stasjonen. Åpne opp ledeteksten inne I c-stasjonen og gjør følgende:
C:\> mkdir data/dbC:\> cd dataC:\> mkdir db
formålet Med disse katalogene Er MongoDB krever en mappe for å lagre alle data. Mongodbs standard datakatalogbane er /data/db
på stasjonen. Derfor er det nødvendig at vi gir disse katalogene som så.
hvis Du starter MongoDB-serveren uten disse katalogene, vil du sannsynligvis se denne følgende feilen:
etter å ha opprettet disse to filene, gå igjen til bin-mappen du har i mongodb-katalogen, og åpne skallet ditt inni det. Kjør følgende kommando:
mongod
Voilà! Nå Er Vår MongoDB server oppe og går! ?
for å kunne jobbe med denne serveren trenger vi en mediator. Så åpne et annet kommandovindu i bind-mappen og kjør følgende kommando:
mongo
etter å ha kjørt denne kommandoen, naviger til skallet som vi kjørte mongod-kommandoen(som er vår server). Du vil se en ‘connection accepted’ melding på slutten. Det betyr at vår installasjon og konfigurasjon er vellykket!
bare kjør i mongo-skallet:
db
sette opp miljøvariabler
for å spare tid kan du sette opp miljøvariablene dine. I Windows gjøres dette ved å følge menyene nedenfor:
Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit
bare kopier banen til bin-mappen og trykk OK! I mitt tilfelle er det C:\Program Files\MongoDB\Server\4.0\bin
Nå er du klar!
Arbeide Med MongoDB
Det er en haug Med Gui (Graphical User Interface) for å jobbe Med MongoDB server som MongoDB Compass, Studio 3T og så videre.
De gir et grafisk grensesnitt slik at du enkelt kan arbeide med databasen og utføre spørringer i stedet for å bruke et skall og skrive spørringer manuelt.
Men I denne artikkelen vil vi bruke ledetekst for å gjøre vårt arbeid.
nå er det på tide for Oss å dykke inn I MongoDB-kommandoer som hjelper deg med å bruke dine fremtidige prosjekter.
- Åpne kommandoprompt og skriv
mongod
for å starte MongoDB-serveren.
2. Åpne opp et annet skall og skriv mongo
for å koble Til MongoDB databaseserver.
1. Finne gjeldende database du er i
db
denne kommandoen viser gjeldende database du er i. test
er den første databasen som kommer som standard.
2. Listing databaser
show databases
jeg har for tiden fire databaser. De er: CrudDB
admin
config
og local
.
3. Gå til en bestemt database
use <your_db_name>
her har jeg flyttet til local
database. Du kan sjekke dette hvis du prøver kommandoen db
for å skrive ut gjeldende databasenavn.
4. Opprette En Database
MED RDBMS (Relational Database Management Systems) har Vi Databaser, Tabeller, Rader og Kolonner.
men I nosql-databaser, som MongoDB, lagres data I bson-format (en binær versjon AV JSON). De er lagret i strukturer kalt «samlinger».
I SQL-databaser ligner Disse På Tabeller.
ok, la oss snakke om hvordan vi lager en database i mongo-skallet.
use <your_db_name>
Vent, vi hadde denne kommandoen før! Hvorfor bruker jeg det igjen?!
I MongoDB server, hvis databasen din allerede er til stede, bruker den kommandoen til å navigere i databasen din.
Men hvis databasen ikke er til stede allerede, Så MongoDB server kommer til å lage databasen for deg. Deretter vil det navigere inn i den.
når du har opprettet en ny database, vil ikke kommandoen show database
vise den nyopprettede databasen. Dette er fordi, før den har noen data (dokumenter) i det, er det ikke til å vise i db-listen.
5. Opprette En Samling
Naviger inn i den nyopprettede databasen med kommandoenuse
.
Faktisk er det To måter å lage en samling på. La oss se begge deler.
En måte er å sette inn data i samlingen:
db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})
dette kommer til å lage samlingen dinmyCollection
selv om samlingen ikke eksisterer. Deretter vil det sette inn et dokument med name
og age
. Dette er ikke-avkortet samlinger.
den andre måten er vist nedenfor:
2.1 Opprette En Ikke-Avkortet Samling
db.createCollection("myCollection")
2.2 Opprette En Avkortet Samling
db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})
På denne måten skal du opprette en samling uten å sette inn data.
en «avkortet samling» har en maksimal dokumentantall som hindrer overfylte dokumenter.
i dette eksemplet har jeg aktivert capping, ved å sette verdien til true
.
size : 2
betyr en grense på to megabyte, ogmax: 2
angir maksimalt antall dokumenter til to.
nå hvis du prøver å sette inn mer enn to dokumenter tilmySecondCollection
og bruk kommandoenfind
(som vi skal snakke om snart), vil du bare se de sist innsatte dokumentene. Husk dette betyr ikke at den aller første dokumentet er slettet — det er bare ikke viser.
6. Sette Inn Data
vi kan sette inn data til en ny samling, eller til en samling som er opprettet før.
det er tre metoder for å sette inn data.
-
insertOne()
brukes bare til å sette inn et enkelt dokument. -
insertMany()
brukes til å sette inn mer enn ett dokument. -
insert()
brukes til å sette inn dokumenter så mange du vil.
Nedenfor er noen eksempler:
db.myCollection.insertOne( { "name": "navindu", "age": 22 })
- insertMany ()
db.myCollection.insertMany()
insert()
metoden ligner påinsertMany()
metode.
legg også merke til at vi har satt inn en ny egenskap kalt location
på dokumentet forJohn Doe
. Så hvis du bruker find
, så ser du bare forjohn doe
location
egenskapen er vedlagt.
Dette kan være en fordel når Det gjelder NoSQL-databaser som MongoDB. Det gir mulighet for skalerbarhet.
7. Spørring Av Data
slik kan du spørre alle data fra en samling:
db.myCollection.find()
hvis du vil se disse dataene i en renere, må du bare legge til .pretty()
til slutten av det. Dette vil vise dokumentet i pen-trykt JSON format.
db.myCollection.find().pretty()
Wait…In disse eksemplene merket du bare noe som _id
? Hvordan kom det dit?
vel, Når Du setter inn et dokument, Legger MongoDB automatisk til et _id
felt som unikt identifiserer hvert dokument. Hvis du ikke vil at den skal vises, bare kjør følgende kommando
db.myCollection.find({}, _id: 0).pretty()
Neste ser vi på filtreringsdata.
hvis du vil vise et bestemt dokument, kan du angi en enkelt detalj i dokumentet som du vil skal vises.
db.myCollection.find( { name: "john" })
La oss si at du bare vil vise folk hvis alder er mindre enn 25. Du kan bruke $lt
for å filtrere for dette.
db.myCollection.find( { age : {$lt : 25} })
på Samme måte $gt
står for større enn, $lte
er «mindre enn eller lik», $gte
er «større enn eller lik» og $ne
er «ikke lik».
8. Oppdatere dokumenter
La oss si at du vil oppdatere noens adresse eller alder, hvordan kan du gjøre det? Vel, se neste eksempel:
db.myCollection.update({age : 20}, {$set: {age: 23}})
det første argumentet er feltet for hvilket dokument du vil oppdatere. Her angir jeg age
for enkelheten. I produksjonsmiljøet kan du bruke noe som _id
– feltet.
det er alltid bedre å bruke noe som_id
for å oppdatere en unik rad. Dette skyldes at flere felt kan ha samme age
og name
. Derfor, hvis du oppdaterer en enkelt rad, vil det påvirke alle rader som har samme navn og alder.
hvis du oppdaterer et dokument på denne måten med en ny egenskap, la oss si location
for eksempel, vil dokumentet bli oppdatert med det nye attributtet. Og hvis du gjør en find
, så blir resultatet:
hvis du trenger å fjerne en egenskap fra et enkelt dokument, kan du gjøre noe slikt (la oss si at du vil age
å være borte):
db.myCollection.update({name: "navindu"}, {$unset: age});
9. Fjerne et dokument
som jeg har nevnt tidligere, når du oppdaterer eller sletter et dokument, trenger du bare angi_id
ikke barename
location
.
db.myCollection.remove({name: "navindu"});
10. Fjerne en samling
db.myCollection.remove({});
Merk, dette er ikke lik drop()
– metoden. Forskjellen er drop()
brukes til å fjerne alle dokumentene i en samling, menremove()
metoden brukes til å slette alle dokumentene sammen med selve samlingen.
Logiske Operatorer
MongoDB gir logiske operatorer. Bildet nedenfor oppsummerer de ulike typene logiske operatorer.
la oss si at du vil vise folk hvis alder er mindre enn 25, og også hvis plassering er colombo. Hva kan vi gjøre?
vi kan bruke$and
operatøren!
db.myCollection.find({$and:});
Sist men Ikke minst, la oss snakke om aggregering.
Aggregering
en rask påminnelse om hva vi lærte om aggregeringsfunksjoner I SQL-databaser:
enkelt sagt, aggregering grupper verdier fra flere dokumenter og oppsummerer dem på noen måte.
Tenk om vi hadde mannlige og kvinnelige studenter i enrecordBook
samling og vi vil ha en total telling på hver av dem. For å få summen av menn og kvinner, kan vi bruke $group
aggregatfunksjonen.
db.recordBook.aggregate();
Innpakning
Så vi har diskutert følgende: grunnleggende om mongodb som du kanskje trenger i fremtiden for å bygge et program. Jeg håper du likte denne artikkelen-takk for at du leser –