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:

prøver å starte mongodb server uten \data\db kataloger

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
i utgangspunktet har du en db kalt ‘test’

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.

  1. Å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: CrudDBadminconfig 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.

SQL-vilkår Og NoSQL-vilkår av victoria malaya

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.

måter data kan lagres I EN JSON

det er tre metoder for å sette inn data.

  1. insertOne() brukes bare til å sette inn et enkelt dokument.
  2. insertMany() brukes til å sette inn mer enn ett dokument.
  3. 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 locationpå dokumentet forJohn Doe. Så hvis du bruker find, så ser du bare forjohn doelocation egenskapen er vedlagt.

    Dette kan være en fordel når Det gjelder NoSQL-databaser som MongoDB. Det gir mulighet for skalerbarhet.

    vellykket innsatt data

    7. Spørring Av Data

    slik kan du spørre alle data fra en samling:

    db.myCollection.find()
    resultat

    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()
    resultat

    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" })
    resultat

    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.

    resultat

    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:

    resultat

    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 barenamelocation.

    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.

    referanse: mongodb manual

    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:

    aggregeringsfunksjoner I SQL-databaser. ref: Tutorial Gateway

    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();
    resultat

    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 –



    Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert.