sql >> Database >  >> NoSQL >> MongoDB

Introductie van opzoekgrafieken in MongoDB

Als u niet bekend bent met MongoDB, het is een documentgericht NoSQL-gegevensmodel, dat documenten gebruikt in plaats van tabellen en rijen zoals u zou vinden bij relationele tabellen.

Als zodanig is MongoDB, vanwege de unieke manier waarop het is gebouwd, een van de beste gegevensmodellen voor hoogwaardige databases met grote schaalbaarheid. Dat betekent natuurlijk niet dat het geen concurrentie heeft, en MongoDB wordt vaak vergeleken met Firebase of Cassandra.

Natuurlijk wordt het probleem dan dat elk queryverzoek in een datastore die zo groot is, problematisch kan zijn en een bepaald niveau van querygoeroe vereist.

Gelukkig heeft MongoDB een geheel nieuwe functie geïntroduceerd die niet alleen codequery's overbodig maakt, maar het ook zo eenvoudig maakt als een paar klikken. Dat betekent dat u niet veel tijd en moeite hoeft te besteden aan hetzelfde soort vragen en deelnemen als u normaal zou doen.

Traditionele zoekopdrachten in MongoDB

Hoewel documentgeoriënteerde databases al ongelooflijk flexibel zijn, zijn er waarschijnlijk nog steeds situaties waarin u live gegevens in meerdere verzamelingen nodig heeft. De ene verzameling kan bijvoorbeeld gebruikersgegevens bevatten en de andere kan gebruikersactiviteit bevatten. Dit kan zelfs worden uitgebreid met meerdere gegevensverzamelingen voor verschillende toepassingen, websites, enzovoort.

Daarom werd MongoDB Query Language (MQL) geboren, en het bood programmeurs een manier om complexe query's te maken. MongoDB heeft zelfs een hele pagina voor query-documenten en hoe ze moeten worden uitgevoerd. Als u er niet bekend mee bent, volgt hier een snel stapsgewijs proces van hoe het werkt, zodat u het later kunt vergelijken met de nieuwe LookUp Charts:

Eerst moet u uw MongoDB-instantie verbinden door de URI door te geven aan de Mongo-shell en vervolgens --password

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

Ten tweede, schakel over naar de database, in dit geval gebruiken we een hypothetische 'test'-database

use test

Op dit punt zou je indien nodig meer gegevens in MongoDB kunnen laden. U kunt dat doen met de methode 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" }

]);

Vervolgens komt de eigenlijke zoekopdracht door het ophalen van documenten in een specifieke verzameling:

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

Meestal zal dit 20 documenten tonen en een cursor teruggeven, maar als je wilt. Als uw resultatenset echter groter is, wilt u de resultaten herhalen:

while (myCursor.hasNext()) {

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

}

Ten slotte zou je de resultaten moeten controleren om er zeker van te zijn dat alles correct is. Houd er rekening mee dat in het onderstaande voorbeeld uw ObjectID-waarden kunnen verschillen:

{

 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"

}

Voordelen van LookUp Charts

Zoals je kunt zien, is het proces behoorlijk ingewikkeld met veel stappen, en daarom is het logisch dat MongoDB het proces wat meer gestroomlijnd wilde maken. Natuurlijk gaat het een beetje verder dan alleen dingen gemakkelijker maken en er zijn veel voordelen aan LookUp Charts.

U kunt bijvoorbeeld betere inzichten verkrijgen door middel van de single-view-indeling door deel te nemen aan verschillende collecties. Wat nog belangrijker is, het is van onschatbare waarde om een ​​visuele en gemakkelijk te analyseren grafiek te hebben die live wordt bijgewerkt volgens uw specificaties. Hierdoor kunt u informatie vaak vrijwel onmiddellijk afleiden uit visuele inspectie, vooral als u informatie in andere categorieën verdeelt.

Ten slotte is het grootste voordeel dat u MQL niet hoeft te leren en beheersen voor slechts één database, wat de toegangsdrempel voor veel programmeurs verlaagt.

Zoekschema's gebruiken

Ok, dus we hebben gekeken naar hoe query's gewoonlijk werken op MongoDB, en we hebben een goed idee van hoe LookUp-diagrammen ons kunnen helpen om sneller opvallendere informatie te krijgen, maar hoe werkt het eigenlijk?

Nou, de stappen zijn relatief eenvoudig:

  1. Eerst moet u de gegevensbron kiezen door deze te kiezen in het vervolgkeuzemenu in de linkerbovenhoek.
  2. Klik vervolgens op de ' . . .’ van het veld tussen uw collecties en klik op ‘Zoekveld’
  3. Wanneer het nieuwe venster verschijnt, selecteert u de 'Externe gegevensbron' waar u de gegevens vandaan haalt.
  4. Vervolgens moet je 'Remote Field' selecteren en dat is het veld dat gemeenschappelijk is tussen je twee gegevensbronnen.
  5. Ten slotte kunt u een specifieke naam voor het resultaatveld opslaan, en zo niet, klik dan op 'Opslaan'

En dat is het zo'n beetje! U kunt nu vanuit de nieuwe velden slepen en neerzetten in de diagrambouwer. Vergeet niet om ook een Array Reduction-methode te kiezen, anders ziet u mogelijk geen grafiek voor u.

Uzelf vertrouwd maken met MongoDB-diagrammen

Natuurlijk is het op dit punt relevant om te vermelden dat de nieuwe LookUp-functie een onderdeel is van MongoDB Charts, en MongoDB zelf heeft een paar interessante artikelen om je te helpen je wegwijs te maken in de software:

P>
  1. Nieuwe manieren om uw grafieken aan te passen
  2. Bestellingsgegevens visualiseren
  3. Een opzoekveld toevoegen (dat verschilt van opzoekdiagrammen)

Conclusie

Zoals je kunt zien, is de nieuwe LookUp Charts een ongelooflijk krachtig hulpmiddel dat de technische kennis van MongoDB-query's enorm vermindert. Met slechts een paar eenvoudige stappen kunt u een overzicht van informatie bekijken die is samengevoegd uit verschillende verzamelingen en nieuwe informatie vrijwel onmiddellijk begrijpen.

Vergelijk dat met de oude methode om het te doen, waarvoor verschillende codeerstappen nodig waren, evenals het begrijpen van die code, en je begint te zien hoe briljant deze nieuwe release is.


  1. Hoe Redis-datum in R . te converteren

  2. Hoe registreer ik mijn vragen in MongoDB C# Driver 2.0?

  3. MongoDB $sin

  4. Hoe de featureCompatibilityVersion in MongoDB in te stellen