sql >> Databasteknik >  >> NoSQL >> MongoDB

Introduktion av uppslagsdiagram i MongoDB

Om du inte är bekant med MongoDB är det en dokumentorienterad NoSQL-datamodell som använder dokument snarare än tabeller och rader som du skulle hitta med relationstabeller.

På grund av det unika sättet det är byggt är MongoDB en av de bästa datamodellerna för högpresterande databasering med stor skalbarhet. Det betyder naturligtvis inte att det inte har konkurrens, och MongoDB jämförs ofta med Firebase eller Cassandra.

Naturligtvis blir problemet då att alla frågeförfrågningar på ett datalager som är så stort kan vara problematiska och kräver en viss nivå av att vara en frågeguru.

Tack och lov har MongoDB introducerat en helt ny funktion som inte bara gör bort kodförfrågningar, den gör det också så enkelt som ett par klick. Det betyder att du inte behöver lägga ner mycket tid och krångel för att göra samma typ av frågor och gå med som du normalt skulle göra.

Traditionell fråga i MongoDB

Medan dokumentorienterade databaser redan är otroligt flexibla, finns det förmodligen fortfarande situationer där du kan behöva levande data i flera samlingar. Till exempel kan en samling innehålla användardata och en annan kan innehålla användaraktivitet. Detta kan till och med utökas till att ha flera samlingar av data för olika applikationer, webbplatser och så vidare.

Det är därför MongoDB Query Language (MQL) föddes, och det gav ett sätt för programmerare att skapa komplexa frågor. Faktum är att MongoDB har en hel sida för frågedokument och hur man kör dem. Om du inte är bekant med det, här är en snabb steg-för-steg-process om hur det fungerar, så att du kan jämföra med de nya LookUp Charts senare:

Först måste du ansluta din MongoDB-instans genom att skicka URI:n till Mongo-skalet och sedan använda --lösenord

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

För det andra, byt till databasen, i det här fallet använder vi en hypotetisk "test"-databas

use test

Vid det här laget skulle du ladda mer data till MongoDB om det behövs. Du kan göra det med metoden insertMany():

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

]);

Sedan kommer själva frågan genom att hämta dokument i en specifik samling:

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

Vanligtvis visar detta 20 dokument och returnerar en markör, men om du vill. Om din resultatuppsättning dock är större, vill du upprepa resultaten:

while (myCursor.hasNext()) {

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

}

Slutligen skulle du kontrollera resultaten för att se till att allt är korrekt. Tänk på att i exemplet nedan kommer dina ObjectID-värden att skilja sig:

{

 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"

}

Fördelar med LookUp Charts

Som du kan se är processen ganska komplicerad med många steg, och därför är det vettigt att MongoDB ville göra processen lite mer strömlinjeformad. Naturligtvis går det lite längre än att bara göra saker enklare och det finns många fördelar med LookUp Charts.

Till exempel kan du få bättre insikter genom formatet envy genom att gå med i flera samlingar. Ännu viktigare, att ha ett visuellt och lätt att analysera diagram uppdaterat live enligt dina specifikationer är ovärderligt. Detta gör att du ofta kan hämta information nästan omedelbart bara från visuell inspektion, särskilt om du delar in information i ytterligare kategorier.

Slutligen är den största fördelen att inte behöva lära sig och behärska MQL för endast en databas, vilket minskar inträdesbarriären för många programmerare.

Hur man använder uppslagsdiagram

Okej, så vi har tittat på hur sökningar vanligtvis fungerar på MongoDB, och vi har en bra uppfattning om hur LookUp Charts kan hjälpa oss att få mer framträdande information snabbare, men hur fungerar det egentligen?

Tja, stegen är relativt enkla:

  1. Först måste du välja datakälla genom att välja den i rullgardinsmenyn uppe till vänster.
  2. Klicka sedan på ' . . .’ i fältet mellan dina samlingar och klicka på ‘Sökfält’
  3. När det nya fönstret dyker upp väljer du "Fjärrdatakälla" det är där du hämtar informationen.
  4. Då måste du välja "Fjärrfält" och det skulle vara det fält som är gemensamt mellan dina två datakällor.
  5. Slutligen kan du spara ett specifikt namn för resultatfältet, och om inte, klicka bara på "Spara"

Och det är i stort sett det! Du kan nu dra och släppa från de nya fälten till diagrambyggaren. Glöm inte att välja en Array Reduction-metod också, annars kanske du inte ser något diagram som dyker upp för dig.

Bekanta dig med MongoDB-diagram

Naturligtvis är det relevant att nämna att den nya LookUp-funktionen är en del av MongoDB Charts, och MongoDB själva har några intressanta artiklar som hjälper dig att få koll på programvaran:

  1. Nya sätt att anpassa dina diagram
  2. Visualisera orderdata
  3. Lägga till ett uppslagsfält (som skiljer sig från uppslagsdiagram)

Slutsats

Som du kan se är de nya LookUp Charts ett otroligt kraftfullt verktyg som kraftigt drar ner på den tekniska kunskapen om MongoDB-förfrågningar. Med bara några enkla steg kan du titta på ett diagram med information från flera samlingar och förstå ny information nästan omedelbart.

Jämför det med den gamla metoden att göra det som krävde flera steg av kodning, såväl som att förstå den koden, så börjar du se hur briljant den här nya utgåvan är.


  1. Redis som Hibernate-cache på andra nivån

  2. E-handels-API gjord med Node-Js, Typescript, PostgreSQL, Redis och Kafka

  3. Det går inte att ansluta till Redis från Docker

  4. Lägg till något slags radnummer till en mongodb aggregatkommando / pipeline