Како повезати МонгоДБ са Голангом

Kako Povezati Mongodb Sa Golangom



Баш као и језик Ц, језик Голанг је такође језик отвореног кода који се може извршити на многим алатима на Виндовс и Линук/Уник системима за креирање записа. Као Ц++ и Јава, можемо успоставити везу између МонгоДБ клијентског система и Го језика користећи било који голанг алат. Да бисмо то урадили, извршићемо неколико веома важних и неопходних корака у Убунту 22.04 користећи алатку Висуал Студио кода за програм. Пре него што успоставимо везу са МонгоДБ компасом, обично инсталирамо МонгоДБ и Висуал Студио Цоде заједно са „го“ и потребним проширењима у водичу да бисмо вам помогли у Го језику.

Инсталирајте МонгоДБ

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







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



саеедраза@виртуалбок:~$ судо дпкг монгодб-орг-сервер_6.0.3_амд64.деб


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

саеедраза@виртуалбок:~$ судо системцтл старт монгод
саеедраза@виртуалбок:~$ судо системцтл омогућити монгод
саеедраза@виртуалбок:~$ судо системцтл статус монгод

Покрените МонгоДБ

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

саеедраза@виртуалбок:~$ монго
Верзија љуске МонгоДБ в5.0.14
повезивање са: монгодб: // 127.0.0.1: 27017 / ? компресори =онемогућено & гссапиСервицеНаме =монгодб
Имплицитна сесија: сесија { 'ид' : УУИД ( '34цц8е0ф-б6б0-4191-адеа-676411ф66цф5' ) }
Верзија МонгоДБ сервера: 6.0.3


Правимо новог корисника са администраторским правима помоћу функције цреатеУсер().

> користите админ
прешао на дб админ
> дб.цреатеУсер (
... {
... корисник: 'Саид' ,
... пвд: '12345' ,
... улоге: [ { улога: 'усерАдминАниДатабасе' , дб: 'админ' } , 'реадВритеАниДатабасе' ]

... } )
Успешно додат корисник: {
'корисник' : 'Саид' ,
'улоге' : [
{
'улога' : 'усерАдминАниДатабасе' ,
'дб' : 'админ'
} ,
'реадВритеАниДатабасе'
]
}


Овластио је корисника „Саеед“ користећи акредитиве у функцији „аутх“ и приказао тренутно поседоване базе података МонгоДБ-а.

> дб.аутх ( 'Саеед' , '12345' )
једно
> схов дбс
админ   0,000 ГБ
конфигурација  0,000 ГБ
локални 0.000ГБ

Инсталирајте МонгоДБ драјвер за Голанг

Отворите терминал у Висуал Студио Цоде-у и померите се унутар фасцикле „Голанг“ у коју желите да додате датотеке изворног кода. Покрените инструкцију „го мод инит“ са именом фасцикле да бисте креирали датотеку „го.мод“. Учитајте МонгоДБ драјвер за Го језик преко упита „иди гет“.

саеедраза@виртуалбок:~/Голанг$ го мод инит Голанг


У неким случајевима је потребно учитати и драјвер МонгоДБ формата бсон за Голанг.

саеедраза@виртуалбок:~/Голанг$ иди иди го.монгодб.орг / монго-возач / бсон


Обавезно додајте неопходне пакете екстензија као што је „гоплс“ у Висуал Студио код помоћу панела Екстензије без коришћења инструкција.


Уз „гоплс“, Голанг ће можда захтевати да се сигурно инсталира „длв“ алат.

Гоинг Цоде Пример

Датотека кода “маин.го” је покренута увозом неких корисних пакета који ће се користити у целом коду за повезивање. Овде је извршено укупно 7 увоза. Након увоза пакета, направили смо нову структуру под називом МонгоФиелд са 4 члана података типа ЈСОН. 2 од ових чланова података су стрингови, а 2 су цели бројеви.

Након тога, константни тип променљиве „ури“ је декларисан са адресом клијента или морате да додате своју локалну адресу у њу у складу са корисничким именом и лозинком. Функције маин() почињу коришћењем функције цоннецт() Голанг-а за повезивање са МонгоДБ преко „монго” објекта. Функција АпплиУРИ() ће узети променљиву „ури“ као свој аргумент за примену на функцију Цлиент() тако да се веза може успоставити преко адресе домаћина. Пакет контекста игра главну улогу у позивању функције ТОДО() за тражење везе. Ако се веза између Висуал Студио кода и МонгоДБ успешно успостави, сигнал који је вратио клијент биће додат променљивој „клијент“; у супротном, грешка ће бити сачувана у променљивој „ерр“.

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

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

пакет главни
увоз (
'контекст'
'фмт'
'ти'
'одразити'
'време'
'го.монгодб.орг/монго-дривер/монго'
'го.монгодб.орг/монго-дривер/монго/оптионс'
)
тип МонгоФиелд струцт {
Име   стринг ` јсон: 'Фиелд Стр' `
 стринг е-поште ` јсон: 'Фиелд Стр' `
Старост    инт ` јсон: 'Фиелд Инт' `
Плата инт ` јсон: 'Фиелд Инт' `
}
цонст ури = “монгодб: // Корисничка лозинка @ локални домаћин: 27017 / ? макПоолСизе = двадесет & ин =већина”
фунц маин ( ) {
клијент, ерр := монго.Цоннецт ( контексту.СВИХ ( ) ,оптионс.Цлиент ( ) .АпплиУРИ ( тип ) )
ако ерр ! = нула {
фмт.Принтлн ( „Монго.цоннецт() грешка: „ , ерр )
ос. Екит ( једно )
}
цтк, _ := цонтект.ВитхТимеоут ( контекст.Позадина ( ) , петнаест * време.Друго )
ц := клијент.База података ( 'Нова' ) .Цоллецтион ( 'особа' )
фмт.Принтлн ( 'Тип колекције: ' , рефлецт.ТипеОф ( ц ) , ' ' )
Рец := МонгоФиелд {
име: 'ЕДЕН' ,
Емаил: 'еден@гмаил.цом' ,
Старост: Четири, пет ,
Плата: 50000 }
фмт.Принтлн ( 'Тип записа: ' , рефлецт.ТипеОф ( Рец ) , ' ' )
резултат, инсертЕрр := ц.ИнсертОне ( цтк, Рец )
ако инсертЕрр ! = нула {
фмт.Принтлн ( „ИнсертОне Еррор:“ , инсертЕрр )
ос. Екит ( једно )
} друго {
фмт.Принтлн ( 'ИнсертОне тип резултата: ' , рефлецт.ТипеОф ( резултат ) )
невИД = резултат.ИнсертедИД
фмт.Принтлн ( 'ИД уметнутог записа: ' , нови ИД ) )
фмт.Принтлн ( „Успешно повезани и уметнути записи!“ )
} }


Сачувајте Голанг код и отворите терминал у фолдеру Голанг. Сада користите инструкцију „го“ са кључном речи „рун“ да бисте извршили датотеку кода „маин.го“. Отклањање грешака је успешно и колекција „Персон“ је успешно генерисана у МонгоДБ. Излаз приказује тип колекције, тип записа, тип резултата и „ИД“ записа.

саеедраза @ виртуалбок:~ / Голанг$ Го Рун Маин.го
Врста колекције: * монго.Цоллецтион
Тип записа: маин.МонгоФиелд
ИнсертОне тип резултата: * монго.ИнсертОнеРесулт
Уметнути ИД записа: ОбјецтИД ( “63а8535ац97б4218230664б6” )
Успешно повезани и уметнути записи.


Отворите компас „МонгоДБ“ на свом крају и повежите се са његовим локалним домаћином користећи „УРИ“.


Након премештања унутар базе података „Нова“, имамо приказану колекцију „Особа“ у одељку „Документи“ заједно са записом који смо додали.

Закључак

Овај водич илуструје употребу језика Го за додавање записа у МонгоДБ клијент користећи Висуал Студио Цоде алат у Линук систему. За ово смо инсталирали монгодб заједно са монгодб драјвером за „голанг“ у систем. Користећи језик Голанг, направили смо „го“ датотеку у МонгоДБ-у и разговарали о разним пакетима и функцијама Голанг-а да бисмо створили везу са МонгоДБ-ом и убацили записе. На крају смо демонстрирали резултате на МонгоДБ компасу који показује да можете повезати било који Голанг алат на МонгоДБ.