MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Представяне на диаграми за търсене в MongoDB

Ако не сте запознати с MongoDB, това е документно-ориентиран NoSQL модел на данни, който използва документи, а не таблици и редове, каквито бихте намерили с релационни таблици.

Като такъв, поради уникалния начин, по който е изграден, MongoDB е един от най-добрите модели на данни за високопроизводително базиране на данни с голяма мащабируемост. Разбира се, това не означава, че няма конкуренция и MongoDB често се сравнява с Firebase или Cassandra.

Разбира се, тогава проблемът се състои в това, че всяка заявка за заявка в такова голямо хранилище за данни може да бъде проблематична и изисква определено ниво да бъдете гуру на заявките.

За щастие, MongoDB въведе изцяло нова функция, която не само премахва заявките за код, но също така я прави толкова проста, колкото няколко щраквания. Това означава, че не е нужно да харчите много време и караница, за да правите същия тип заявки и присъединяване, както обикновено.

Традиционни заявки в MongoDB

Докато документно-ориентираните бази данни вече са невероятно гъвкави, вероятно все още има ситуации, в които може да се нуждаете от живи данни в множество колекции. Например, една колекция може да съдържа потребителски данни, а друга може да съдържа потребителска активност. Това дори може да бъде разширено, за да има няколко колекции от данни за различни приложения, уебсайтове и т.н.

Ето защо е роден MongoDB Query Language (MQL) и предоставя начин на програмистите да създават сложни заявки. Всъщност MongoDB има цяла страница за документи за заявка и как да ги стартирате. Ако не сте запознати с него, ето бърз процес стъпка по стъпка за това как работи, за да можете да сравните с новите диаграми за търсене по-късно:

Първо, трябва да свържете своя екземпляр на MongoDB, като предадете URI към обвивката на Mongo и след това използвате --password

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

Второ, превключете към базата данни, в този случай ще използваме хипотетична „тестова“ база данни

use test

В този момент бихте заредили повече данни в MongoDB, ако е необходимо. Можете да направите това с метода 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" }

]);

След това идва действителната заявка чрез извличане на документи в конкретна колекция:

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

Обикновено това ще покаже 20 документа и ще върне курсор, но ако искате. Ако вашият набор от резултати обаче е по-голям, ще искате да повторите резултатите:

while (myCursor.hasNext()) {

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

}

Накрая ще проверите резултатите, за да се уверите, че всичко е правилно. Имайте предвид в примера по-долу, вашите стойности на ObjectID ще се различават:

{

 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"

}

Предимства на справочните диаграми

Както можете да видите, процесът е доста сложен с много стъпки и затова има смисъл MongoDB да иска да направи процеса малко по-рационализиран. Разбира се, това надхвърля просто улесняването на нещата и има много предимства на LookUp Charts.

Например, можете да съберете по-добра информация чрез формата за единичен изглед, като се присъедините към няколко колекции. По-важното е, че визуална и лесна за анализиране диаграма, актуализирана на живо според вашите спецификации, е безценна. Това често ви позволява да извличате информация почти веднага само от визуална проверка, особено ако разделите информацията на допълнителни категории.

Накрая, най-голямото предимство е, че няма нужда от изучаване и овладяване на MQL само за една база данни, което намалява бариерата за влизане за много програмисти.

Как да използвате справочни диаграми

Добре, така че разгледахме как обикновено работи запитването в MongoDB и имаме добра представа как справочните диаграми могат да ни помогнат да получим по-важна информация по-бързо, но как всъщност работи?

Е, стъпките са сравнително прости:

  1. Първо, трябва да изберете източника на данни, като го изберете от падащото меню горе вляво.
  2. След това кликнете върху „. . .“ от полето между вашите колекции и кликнете върху „Поле за търсене“
  3. Когато се появи новият прозорец, изберете „Отдалечен източник на данни“, откъдето ще изтеглите данните.
  4. След това трябва да изберете „Отдалечено поле“ и това би било полето, което е общо между двата ви източника на данни.
  5. Накрая можете да запишете конкретно име за полето за резултат и ако не, просто кликнете върху „Запазване“

И това е почти всичко! Вече можете да плъзнете и пуснете от новите полета в конструктора на диаграми. Не забравяйте да изберете и метод за намаляване на масива, в противен случай може да не видите диаграма, която да се показва за вас.

Запознаване с MongoDB Charts

Разбира се, в този момент е уместно да споменем, че новата функция LookUp е част от MongoDB Charts, а самите MongoDB имат няколко интересни статии, които да ви помогнат да се ориентирате в софтуера:

  1. Нови начини за персонализиране на вашите диаграми
  2. Визуализация на данните за поръчка
  3. Добавяне на поле за справка (което е различно от справочните диаграми)

Заключение

Както можете да видите, новите LookUp Charts са невероятно мощен инструмент, който значително намалява техническите познания за заявките в MongoDB. Само с няколко прости стъпки можете да разгледате диаграма с информация, обединена от няколко колекции, и да разберете новата информация почти веднага.

Сравнете това със стария метод за правене, който изисква няколко стъпки на кодиране, както и разбиране на кода, и ще започнете да виждате колко брилянтна е тази нова версия.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Upsert Array Elements, съответстващи на критериите в документ на MongoDB?

  2. MongoDB $arrayToObject

  3. Полета за актуализиране на MongoDB във вложен масив

  4. (възел:3341) Предупреждение за прекратяване:Mongoose:mpromise

  5. Метод MongoDB Date().