sql >> Databáze >  >> NoSQL >> MongoDB

Představujeme vyhledávací grafy v MongoDB

Pokud MongoDB neznáte, je to dokumentově orientovaný datový model NoSQL, který používá dokumenty spíše než tabulky a řádky, jako byste našli u relačních tabulek.

Jako takový, díky jedinečnému způsobu, jakým je postaven, je MongoDB jedním z nejlepších datových modelů pro vysoce výkonné databáze s velkou škálovatelností. To samozřejmě neznamená, že by neměl konkurenci a MongoDB je často srovnáván s Firebase nebo Cassandrou.

Problém pak samozřejmě nastává v tom, že jakýkoli požadavek na dotaz na tak velké datové úložiště může být problematický a vyžaduje určitou úroveň guru dotazů.

Naštěstí společnost MongoDB zavedla zcela novou funkci, která nejen odstraňuje dotazování kódu, ale také jej zjednodušuje na několik kliknutí. To znamená, že nemusíte trávit spoustu času a námahy prováděním stejného typu dotazování a připojování jako normálně.

Tradiční dotazování v MongoDB

I když jsou databáze orientované na dokumenty již neuvěřitelně flexibilní, pravděpodobně stále existují situace, kdy můžete potřebovat živá data ve více kolekcích. Jedna kolekce může například obsahovat uživatelská data a jiná může obsahovat aktivitu uživatele. To by mohlo být dokonce rozšířeno tak, aby mělo několik kolekcí dat pro různé aplikace, webové stránky a tak dále.

Proto se zrodil MongoDB Query Language (MQL) a poskytl programátorům způsob, jak vytvářet složité dotazy. Ve skutečnosti má MongoDB celou stránku pro dokumenty dotazů a jak je spouštět. Pokud to neznáte, zde je rychlý postup krok za krokem, jak to funguje, abyste je mohli později porovnat s novými vyhledávacími grafy:

Nejprve musíte připojit svou instanci MongoDB předáním URI do prostředí Mongo a poté pomocí --password

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

Zadruhé přepněte do Databáze, v tomto případě použijeme hypotetickou ‚testovací‘ databázi

use test

V tuto chvíli byste do MongoDB v případě potřeby nahráli více dat. Můžete to udělat pomocí metody 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" }

]);

Poté přichází skutečný dotaz prostřednictvím načítání dokumentů v konkrétní kolekci:

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

Obvykle to zobrazí 20 dokumentů a vrátí kurzor, ale pokud chcete. Pokud je však vaše sada výsledků větší, budete chtít výsledky opakovat:

while (myCursor.hasNext()) {

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

}

Nakonec byste měli zkontrolovat výsledky, abyste se ujistili, že je vše v pořádku. Mějte na paměti, že v příkladu níže se budou vaše hodnoty ObjectID lišit:

{

 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"

}

Výhody vyhledávacích grafů

Jak můžete vidět, proces je poměrně komplikovaný s mnoha kroky, a proto dává smysl, že MongoDB chtěl tento proces trochu zjednodušit. Samozřejmě to jde o něco víc než jen usnadňování věcí a grafy LookUp mají spoustu výhod.

Například můžete získat lepší přehled prostřednictvím formátu jednoho zobrazení spojením několika kolekcí. Ještě důležitější je, že mít vizuální a snadno analyzovatelný graf aktualizovaný živě podle vašich specifikací je neocenitelné. To vám často umožňuje odvodit informace téměř okamžitě pouze z vizuální kontroly, zejména pokud informace rozdělíte do dalších kategorií.

Největší výhodou je, že se nemusíte učit a ovládat MQL pouze pro jednu databázi, což snižuje vstupní bariéru pro mnoho programátorů.

Jak používat vyhledávací grafy

Dobře, takže jsme se podívali na to, jak dotazování obvykle funguje na MongoDB, a máme dobrou představu o tom, jak nám LookUp Charts mohou pomoci rychleji získat významnější informace, ale jak to ve skutečnosti funguje?

No, kroky jsou poměrně jednoduché:

  1. Nejprve musíte vybrat zdroj dat tak, že jej vyberete z rozbalovací nabídky v levém horním rohu.
  2. Potom klikněte na ikonu „ . . .‘ pole mezi vašimi sbírkami a klikněte na ‚Vyhledávací pole‘
  3. Když se zobrazí nové okno, vyberte „Vzdálený zdroj dat“, ze kterého budete data stahovat.
  4. Potom musíte vybrat „Vzdálené pole“ a to bude pole, které je společné pro vaše dva zdroje dat.
  5. Nakonec můžete uložit konkrétní název pro výsledkové pole, a pokud ne, stačí kliknout na „Uložit“

A to je skoro vše! Nyní můžete přetahovat z nových polí do nástroje pro tvorbu grafů. Nezapomeňte si také vybrat metodu Array Reduction, jinak se vám nemusí zobrazovat žádný graf.

Seznamte se s grafy MongoDB

Na tomto místě je samozřejmě vhodné zmínit, že nová funkce LookUp je součástí MongoDB Charts a MongoDB sami mají několik zajímavých článků, které vám pomohou zorientovat se v softwaru:

  1. Nové způsoby přizpůsobení grafů
  2. Vizualizace dat objednávky
  3. Přidání vyhledávacího pole (které se liší od vyhledávacích grafů)

Závěr

Jak můžete vidět, nový LookUp Charts je neuvěřitelně výkonný nástroj, který výrazně omezuje technické znalosti dotazování MongoDB. Pomocí několika jednoduchých kroků se můžete podívat na tabulku informací spojených z několika sbírek a porozumět novým informacím téměř okamžitě.

Porovnejte to se starou metodou, která vyžadovala několik kroků kódování a také pochopení tohoto kódu, a začnete vidět, jak skvělé toto nové vydání je.


  1. Jak funguje parametr arrayFilters v MongoDB

  2. Proč moje MongooseJS ObjectId neprojde testem rovnosti?

  3. Index vnořených dokumentů v mongo

  4. pochopit systém mezipaměti MongoDB