Како интегрисати МонгоДБ Ноде.јс драјвер

Kako Integrisati Mongodb Node Js Drajver



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

Подесите МонгоДБ драјвер користећи нпм модул

Да бисмо добили МонгоДБ ноде.јс драјвер, прво морамо да набавимо нпм модул за Ноде.јс на нашем систему, који би требало да се ажурира. Инсталирали смо нпм са најновијом верзијом глобално на систему. Команда за инсталацију нпм модула је дата у наставку:

нпм инсталл -г нпм@9.8.1

Овде је евидентно да је нпм модул додат на рачунар.









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



нпм инсталл монгодб --саве

МонгоДБ драјвер је сада успешно инсталиран, као што се види на следећој слици.





Следећи корак је да направите јединствени директоријум у који се може ставити МонгоДБ програм. Да бисте то урадили, креирајте директоријум „НевФолдер“ користећи команду мкдир. Команда за креирање директоријума је следећа:



мкдир НевФолдер

Сада смо одредили путању као што је приказано у наставку да бисмо ушли у тај одређени директоријум.

цд Ц:\Усерс\Хп\МиНодејс\НевФолдер

Дакле, сада смо у директоријуму „НевФолдер“ који је креиран у претходном кораку. Прелазећи на следећи процес, тражимо команду „нпм инит -и“ да брзо иницијализује нови Ноде.јс пројекат генерисањем датотеке пацкаге.јсон са подразумеваним вредностима без потребе за уносом од корисника.

Основна датотека пацкаге.јсон са подразумеваним вредностима је креирана као излаз команде испод.

Пример # 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' ;
цонст цлиент = нови МонгоЦлиент(урл);
цонст дб_наме = 'Нова база података' ;
асинхронизована функција маин() {
аваит цлиент.цоннецт();
цонсоле.лог( „Успешно повезан са МонгоДБ сервером“ );
цонст дб = цлиент.дб(дб_наме);
цонст цоллецтион = дб.цоллецтион( 'корисници' );

цонст инсертДоцс =
аваит цоллецтион.инсертМани([{ наме: 'Алекс' , емаил: '<а хреф=' маилто:алек@екампле.цом ' таргет=' _бланк ' рел=' ноопенер '>алек@екампле.цом' },
{име: 'Енди' , емаил: '<а хреф=' маилто:анди@екампле.цом ' таргет=' _бланк ' рел=' ноопенер '>анди@екампле.цом' },
{име: 'себе' , емаил: '<а хреф=' маилто:сам@екампле.цом ' таргет=' _бланк ' рел=' ноопенер '>сам@екампле.цом' }]);
цонсоле.лог( 'Уметнути документи у колекцију =>' , инсертДоцс);
повратак 'Готово.' ;
}

главни()
.тхен(цонсоле.лог)
.цатцх(цонсоле.еррор)
.финалли(() => цлиент.цлосе());

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

Приказани излаз документи су успешно уметнути у колекцију са три јединствена ИД-а.

Пример бр. 3: Ажурирајте документ у колекцију користећи Ноде.јс

На исти начин, такође можемо да применимо операцију ажурирања МонгоДБ-а у Ноде.јс пратећи исту датотеку, „МонгоДБ.јс“. Операција се додаје у датотеку за операцију ажурирања. Размотрите програм за ову операцију.

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

цонст упдатеДоц = аваит цоллецтион.упдатеОне({ наме: 'енди' },
{ $сет: { емаил: '<а хреф=' маилто:анди12@екампле.цом ' таргет=' _бланк ' рел=' ноопенер '>анди12@екампле.цом' } });
цонсоле.лог( 'Документ је ажуриран у колекцији=>' , упдатеДоц);
повратак 'Готово.' ;
}

главни()
.тхен(цонсоле.лог)
.цатцх(цонсоле.еррор)
.финалли(() => цлиент.цлосе());

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

Излаз се приказује где се документ који треба ажурирати подудара и модификује коришћењем Ноде.јс.

Пример # 4: Избришите документ из МонгоДБ колекције користећи Ноде.јс

Затим смо применили операцију брисања МонгоДБ-а користећи Ноде.јс. Операција је дата у сличној датотеци „МонгоДБ.јс“.

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

цонст делетеДоц = аваит цоллецтион.делетеОне({ наме: 'Енди' });
цонсоле.лог( 'Документ избрисан=>' , делетеДоц);
повратак 'Готово.' ;
}

главни()
.тхен(цонсоле.лог)
.цатцх(цонсоле.еррор)
.финалли(() => цлиент.цлосе());

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

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

Закључак

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