Како развити МонгоДБ са ЈаваСцрипт-ом

Kako Razviti Mongodb Sa Javascript Om



Једна од најзначајнијих предности коришћења МонгоДБ-а за веб програмере је његова одлична интеграција са ЈаваСцрипт-ом. МонгоДБ обезбеђује изворни ЈаваСцрипт драјвер који омогућава програмерима да директно комуницирају са базом података користећи ЈаваСцрипт код. Сада је неопходна инсталација МонгоДБ Ноде.јс драјвера на машини пре него што почнемо да креирамо МонгоДБ апликације у ЈаваСцрипт-у. За ово морамо да користимо следећу команду:

нпм и монгодб

Драјвер нам омогућава да комуницирамо са МонгоДБ-ом из вашег ЈаваСцрипт кода и обављамо различите операције као што су повезивање са базом података, уметање података, испитивање података и ажурирање података.







Пример 1: Развијте МонгоДБ везу са ЈаваСцрипт-ом

Започните успостављањем везе са МонгоДБ сервером са ЈаваСцрипт-ом што се може постићи коришћењем модула „нпм“, као што је претходно објашњено.



конст { МонгоЦлиент } = захтевају ( 'монгодб' ) ;

конст урл = 'монгодб://<а хреф='69874Б9Е74ЕД117665Б4А9Е02581А7ФЦА2ДБ76Б2'>127.0.0.1:27017' ;
конст клијент = Нова МонгоЦлиент ( урл ) ;
конст дбНаме = 'МиДБ' ;

асинц функција главни ( ) {
чекати клијента. повезати ( ) ;
конзола. Пријава ( „Успешно повезан са сервером“ ) ;
конст дб = клијент. дб ( дбНаме ) ;
конст збирка = дб. збирка ( 'особе' ) ;

повратак 'Готово.' ;
}

главни ( )
. онда ( конзола. Пријава )
. улов ( конзола. грешка )
. коначно ( ( ) => клијент. Близу ( ) ) ;

Прво увозимо потребан МонгоЦлиент из модула „монгодб“ у нашу датотеку „Филе.јс“. Затим дефинишемо УРЛ везе за МонгоДБ сервер (урл) и креирамо нову МонгоЦлиент инстанцу користећи наведени УРЛ.



Након тога наводимо име МонгоДБ базе података (дбНаме) која ће се користити у вези. Затим, асинхрона маин() функција управља главним операцијама на МонгоДБ серверу. Овде се повезујемо са МонгоДБ сервером користећи аваит цлиент.цоннецт(). Ово је асинхрона операција, тако да функција паузира док се веза успешно не успостави. Можемо да видимо поруку која се појављује у одзивнику након што је веза успешно успостављена. Добијамо референцу на базу података са наведеним именом у „дбНаме“ користећи цлиент.дб(дбНаме).





Затим добијамо референцу на колекцију под називом „Персонс“ користећи дб.цоллецтион(„Персонс“). Након дефинисања функције маин(), позивамо маин() да извршимо операције. Ако се функција маин() успешно реши, она штампа резултат (у овом случају, то је стринг „готово“) користећи .тхен(цонсоле.лог). Ако дође до грешке током извршавања, она хвата грешку и штампа је користећи .цатцх(цонсоле.еррор). Коначно, осигурава да је МонгоДБ клијентска веза затворена помоћу .финалли(() => цлиент.цлосе()).

Дакле, промпт приказује поруку где је МонгоДБ веза успостављена у ЈаваСцрипт датотеци:



Пример 2: Уметните МонгоДБ документ са ЈаваСцрипт-ом

Сада када је веза успостављена са МонгоДБ сервером, можемо користити МонгоДБ упите са ЈаваСцрипт-ом. Овде примењујемо упит за уметање за уметање једног документа.

конст { МонгоЦлиент } = захтевају ( 'монгодб' ) ;

конст урл = 'монгодб://<а хреф='69874Б9Е74ЕД117665Б4А9Е02581А7ФЦА2ДБ76Б2'>127.0.0.1:27017' ;
конст клијент = Нова МонгоЦлиент ( урл ) ;
конст дбНаме = 'МиДБ' ;

асинц функција главни ( ) {
конст дб = клијент. дб ( дбНаме ) ;
конст збирка = дб. збирка ( 'корисници' ) ;
конст инсертДоц =
чекају наплату. инсертОне ( { име : 'Андрија' , старости : 23 } ) ;
конзола. Пријава ( 'Документ је уметнут =' , инсертДоц ) ;
повратак 'Готово.' ;
}

главни ( )
. онда ( конзола. Пријава )
. улов ( конзола. грешка )
. коначно ( ( ) => клијент. Близу ( ) ) ;

Функцију маин() дефинишемо као асинхрону функцију која обавља операцију уметања базе података. Унутар њега се повезујемо са МонгоДБ сервером користећи МонгоЦлиент инстанцу и УРЛ. Затим приступамо наведеној бази података (МиДБ) користећи цлиент.дб(дбНаме) и добијамо колекцију „усерс“ из базе података користећи дб.цоллецтион(‘усерс’).

Након тога, у колекцију „усерс“ убацујемо документ са именом поља „Андрев“ и узрастом од 23 године користећи цоллецтион.инсертОне(). Метод инсертОне() враћа обећање које се решава резултатом уметања. Додати документ се приказује помоћу цонсоле.лог. На крају, затварамо МонгоДБ клијентску везу.

Документ који је уметнут у колекцију базе података МонгоДБ је успешно уметнут као што је приказано у следећем излазу:

Пример 3: Пронађите МонгоДБ документ са ЈаваСцрипт-ом

Слично, можемо применити упит „пронађи“ МонгоДБ-а са ЈаваСцрипт-ом да бисмо пронашли документ из колекције која је креирана у претходном примеру.

конст { МонгоЦлиент } = захтевају ( 'монгодб' ) ;

конст урл = 'монгодб://<а хреф='69874Б9Е74ЕД117665Б4А9Е02581А7ФЦА2ДБ76Б2'>127.0.0.1:27017' ;
конст клијент = Нова МонгоЦлиент ( урл ) ;
конст дбНаме = 'МиДБ' ;

асинц функција главни ( ) {
конст дб = клијент. дб ( дбНаме ) ;
конст збирка = дб. збирка ( 'корисници' ) ;
конст финдКуери = { име : 'Андрија' } ;
конст финдДоц = чекају наплату. наћи ( финдКуери ) . тоАрраи ( ) ;
конзола. Пријава ( 'Доцумент =' , финдДоц ) ;
}

главни ( )
. онда ( конзола. Пријава )
. улов ( конзола. грешка )
. коначно ( ( ) => клијент. Близу ( ) ) ;

Почињемо са демонстрацијом из главне функције где се прво повезујемо са МонгоДБ сервером користећи креирану МонгоЦлиент инстанцу и наведени УРЛ. Затим приступамо МиДБ бази података користећи цлиент.дб(дбНаме) где је дбНаме претходно дефинисано име базе података.

Затим добијамо референцу на колекцију „усерс“ из базе података користећи дб.цоллецтион(‘усерс’). Креиран је објекат упита под називом „финдКуери“ који специфицира да документи који се преузимају треба да имају поље за име једнако „Андрев“. Након тога, вршимо упит „пронађи“ на колекцији „усерс“ користећи цоллецтион.финд(финдКуери) који враћа курсор на одговарајуће документе.

Кључна реч “аваит” се користи пре цоллецтион.финд() да би се осигурало да је резултат решен пре него што се настави. Резултат операције проналажења се конвертује у низ докумената помоћу тоАрраи(), а пронађени документи се чувају у променљивој „финдДоц“. Документи се затим евидентирају на конзоли користећи цонсоле.лог.

Као резултат тога, пронађени документ МонгоДБ колекције се приказује након извршења:

Пример 4: Ажурирајте МонгоДБ документ помоћу ЈаваСцрипт-а

Затим изводимо операцију „ажурирања“ у ЈаваСцрипт-у да ажурирамо наведени документ колекције МонгоДБ.

конст { МонгоЦлиент } = захтевају ( 'монгодб' ) ;

конст урл = 'монгодб://<а хреф='69874Б9Е74ЕД117665Б4А9Е02581А7ФЦА2ДБ76Б2'>127.0.0.1:27017' ;
конст клијент = Нова МонгоЦлиент ( урл ) ;
конст дбНаме = 'МиДБ' ;

асинц функција главни ( ) {
конст дб = клијент. дб ( дбНаме ) ;
конст збирка = дб. збирка ( 'корисници' ) ;
конст упдатеКуери = { име : 'Андрија' } ;
конст упдатеНаме = { $сет : { име : 'себе' } } ;
конст упдатеРесулт = чекају наплату. упдатеОне ( упдатеКуери , упдатеНаме ) ;
конзола. Пријава ( 'Ажурирани документ =' , упдатеРесулт ) ;
повратак 'Готово' ;
}

главни ( )
. онда ( конзола. Пријава )
. улов ( конзола. грешка )
. коначно ( ( ) => клијент. Близу ( ) ) ;

Да бисмо ажурирали документ у колекцији „корисници“, позивамо функцију маин(). Затим припремамо упит за „ажурирање“ користећи { наме: ’Ендрју’ } да бисмо пронашли документ са пољем за име једнаким „Ендрју“. Након тога, поставили смо поље имена одговарајућег документа на „Сам“ користећи { $сет: { наме: 'Сам' } }.

Дефинишемо упит „ажурирање“ и операцију „ажурирање“ да бисмо извршили ажурирање користећи цоллецтион.упдатеОне(упдатеКуери, упдатеНаме). Метод упдатеОне() ажурира први документ који одговара упиту „ажурирање“ и враћа објекат који представља резултат ажурирања. Променљива „упдатеРесулт“ садржи исход акције ажурирања.

Екран који следи приказује резултате ажурираног упита:

Пример 5: Избришите МонгоДБ документ помоћу ЈаваСцрипт-а

Коначно, користимо метод брисања МонгоДБ-а да избришемо претходни документ из МонгоДБ-а у оквиру ЈаваСцрипт-а.

конст { МонгоЦлиент } = захтевају ( 'монгодб' ) ;

конст урл = 'монгодб://<а хреф='69874Б9Е74ЕД117665Б4А9Е02581А7ФЦА2ДБ76Б2'>127.0.0.1:27017' ;
конст клијент = Нова МонгоЦлиент ( урл ) ;
конст дбНаме = 'МиДБ' ;

асинц функција главни ( ) {
конст дб = клијент. дб ( дбНаме ) ;
конст збирка = дб. збирка ( 'корисници' ) ;
конст делетеКуери = { име : 'себе' } ;
конст делетеРесулт = чекају наплату. делетеОне ( делетеКуери ) ;
конзола. Пријава ( 'Избрисани документ =' , делетеРесулт ) ;
повратак 'Готово' ;
}

главни ( )
. онда ( конзола. Пријава )
. улов ( конзола. грешка )
. коначно ( ( ) => клијент. Близу ( ) ) ;

Креирамо објекат упита „делете“ под називом „делетеКуери“ који специфицира критеријуме за брисање докумената. У овом случају, тражи документе у којима је поље имена једнако „Сам“. Након припреме упита за брисање, примењујемо стварну операцију брисања користећи метод делетеОне() објекта колекције.

Проследимо „делетеКуери“ као аргумент „делетеОне“ који брише први одговарајући документ који испуњава наведене критеријуме у упиту. Променљива „делетеРесулт“ садржи резултат акције брисања.

Наведени документ се брише из МонгоДБ колекције помоћу „јавасцрипт“ датотеке:

Закључак

Сада имамо фундаментално разумевање како да користимо МонгоДБ са ЈаваСцрипт-ом преко МонгоДБ Ноде.јс драјвера. Све смо то демонстрирали са различитим Монго ДБ операцијама, од повезивања до брисања документа помоћу ЈаваСцрипт-а. Одавде можемо да правимо сложеније апликације и да интегришемо МонгоДБ у Ноде.јс пројекте по потреби.