sql >> Database teknologi >  >> NoSQL >> MongoDB

Introduktion af opslagsdiagrammer i MongoDB

Hvis du ikke er bekendt med MongoDB, er det en dokumentorienteret NoSQL-datamodel, som bruger dokumenter frem for tabeller og rækker, som du ville finde med relationelle tabeller.

Som sådan er MongoDB på grund af den unikke måde det er bygget på en af ​​de bedste datamodeller til højtydende databaser med stor skalerbarhed. Det betyder selvfølgelig ikke, at det ikke har konkurrence, og MongoDB sammenlignes ofte med Firebase eller Cassandra.

Selvfølgelig bliver problemet så, at enhver forespørgselsanmodning på et datalager, der er så stort, kan være problematisk og kræver et vist niveau af at være en forespørgselsguru.

Heldigvis har MongoDB introduceret en helt ny funktion, der ikke kun fjerner kodeforespørgsler, den gør det også så enkelt som et par klik. Det betyder, at du ikke behøver at bruge en masse tid og besvær for at udføre den samme type forespørgsel og deltage, som du normalt ville.

Traditionel forespørgsel i MongoDB

Mens dokumentorienterede databaser allerede er utrolig fleksible, er der sandsynligvis stadig situationer, hvor du muligvis har brug for live data i flere samlinger. En samling kunne f.eks. indeholde brugerdata, og en anden kunne indeholde brugeraktivitet. Dette kunne endda udvides til at have flere samlinger af data til forskellige applikationer, websteder og så videre.

Det er grunden til, at MongoDB Query Language (MQL) blev født, og det gav programmører en måde at skabe komplekse forespørgsler på. Faktisk har MongoDB en hel side til forespørgselsdokumenter og hvordan man kører dem. Hvis du ikke er bekendt med det, er her en hurtig trin-for-trin proces af, hvordan det virker, så du kan sammenligne med de nye opslagsdiagrammer senere:

Først skal du forbinde din MongoDB-instans ved at sende URI'en til Mongo-skallen og derefter bruge --password

mongo.exe mongodb://$[hostlist]/$[database]?authSource=$[authSource] --username $[username]

For det andet, skift til databasen, i dette tilfælde bruger vi en hypotetisk 'test'-database

use test

På dette tidspunkt vil du indlæse flere data i MongoDB, hvis det er nødvendigt. Du kan gøre det med insertMany() metoden:

db.inventory.insertMany( [

   { "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" },

    { "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "A" },

    { "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" },

    { "item": "planner", "qty": 75, "size": { "h": 22.85, "w": 30, "uom": "cm" }, "status": "D" },

    { "item": "postcard", "qty": 45, "size": { "h": 10, "w": 15.25, "uom": "cm" }, "status": "A" }

]);

Så kommer selve forespørgslen gennem hentning af dokumenter i en bestemt samling:

myCursor = db.inventory.find( { status: "D" } )

Normalt vil dette vise 20 dokumenter og returnere en markør, men hvis du vil. Hvis dit resultatsæt dog er større, vil du gerne gentage resultaterne:

while (myCursor.hasNext()) {

print(tojson(myCursor.next()));

}

Til sidst skal du tjekke resultaterne for at sikre dig, at alt er korrekt. Husk i eksemplet nedenfor, at dine ObjectID-værdier er forskellige:

{

 item: "paper",

 qty: 100,

 size: {

   h: 8.5,

   w: 11,

   uom: "in"

   },

 status: "D"

},

{

 item: "planner",

 qty: 75,

 size: {

   h: 22.85,

   w: 30,

   uom: "cm"

   },

 status: "D"

}

Fordele ved opslagsdiagrammer

Som du kan se, er processen ret kompliceret med mange trin, og derfor giver det mening, at MongoDB ønskede at gøre processen en smule mere strømlinet. Det går selvfølgelig lidt ud over blot at gøre tingene nemmere, og der er mange fordele ved LookUp Charts.

For eksempel kan du få bedre indsigt gennem enkeltvisningsformatet ved at deltage i flere samlinger. Endnu vigtigere er det uvurderligt at have et visuelt og let at parse diagram opdateret live i henhold til dine specifikationer. Dette giver dig ofte mulighed for at udlede information næsten øjeblikkeligt blot fra visuel inspektion, især hvis du opdeler information i yderligere kategorier.

Endelig er den største fordel ikke at skulle lære og mestre MQL for kun én database, hvilket reducerer adgangsbarrieren for mange programmører.

Sådan bruges opslagsdiagrammer

Okay, så vi har set på, hvordan forespørgsler normalt fungerer på MongoDB, og vi har en god idé om, hvordan opslagsdiagrammer kan hjælpe os med at få mere fremtrædende information hurtigere, men hvordan fungerer det egentlig?

Nå, trinene er relativt enkle:

  1. Først skal du vælge datakilden ved at vælge den i rullemenuen øverst til venstre.
  2. Klik derefter på ' . . .’ af feltet mellem dine samlinger og klik på ‘Opslagsfelt’
  3. Når det nye vindue dukker op, skal du vælge 'Fjerndatakilde', hvorfra du vil hente data.
  4. Derefter skal du vælge 'Fjernfelt', og det ville være det felt, der er fælles mellem dine to datakilder.
  5. Til sidst kan du gemme et specifikt navn til resultatfeltet, og hvis ikke, skal du blot klikke på 'Gem'

Og det er stort set det! Du kan nu trække og slippe fra de nye felter til diagrambyggeren. Glem ikke også at vælge en Array Reduction-metode, ellers kan du måske ikke se noget diagram dukke op for dig.

Bliv fortrolig med MongoDB-diagrammer

Selvfølgelig er det på nuværende tidspunkt relevant at nævne, at den nye LookUp-funktion er en del af MongoDB-diagrammer, og MongoDB selv har et par interessante artikler, der kan hjælpe dig med at få styr på softwaren:

  1. Nye måder at tilpasse dine diagrammer på
  2. Visualisering af ordredata
  3. Tilføjelse af et opslagsfelt (som er forskelligt fra opslagsdiagrammer)

Konklusion

Som du kan se, er de nye LookUp Charts et utroligt kraftfuldt værktøj, der massivt skærer ned på den tekniske viden om MongoDB-forespørgsler. Med blot et par enkle trin kan du se på et diagram over oplysninger, der er samlet fra flere samlinger, og forstå ny information næsten med det samme.

Sammenlign det med den gamle metode til at gøre det på, der krævede adskillige trin af kodning, såvel som at forstå den kode, og du begynder at se, hvor genial denne nye udgivelse er.


  1. MongoDB $gt/$lt-operatører med priser gemt som strenge

  2. Fejl jemalloc/jemalloc.h:Ingen sådan fil eller mappe, når du laver Redis

  3. Undtagelse, der godkender MongoCredential og Uncategorized Mongo Db Exception

  4. Fjernelse af hvide mellemrum (førende og efterfølgende) fra strengværdi