Све што треба да знате о клијенту МонгоДБ



Овај чланак ће вам пружити детаљно и свеобухватно знање о МонгоДБ клијенту са свим његовим карактеристикама и употребама.

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





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

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

Да би овај чланак био у потпуности, мораћете прво да испуните следеће предуслове.



Нека је ИДЕ већ присутан у вашем систему.
Јава Девелопмент Кит или ЈДК верзије 1.8 и новије инсталиране са правилно конфигурисаним ЈАВА_ХОМЕ.
Инсталиран Доцкер или МонгоДБ.
Апацхе Мавен верзија 3.5.3 и новија.

Архитектура коју смо креирали и користили у овом водичу једна је од најједноставнијих. Када се изврши, корисник може лако додати податке и елементе на листу, након чега ће се аутоматски ажурирати у бази података.

Логотип клијента МонгоДБ



које су компоненте Јава платформе?

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

Почетак

Да бисте започели са овим пројектом, следите доленаведене кораке.

Корак # 1: Креирање пројекта на Мавен-у

Први корак је увек стварање новог пројекта и да бисте то урадили, користите следећи код.

мвн ио.куаркус: куаркус-мавен-плугин: 0.22.0: цреате -ДпројецтГроупИд = орг.ацме -ДпројецтАртифацтИд = усинг-монгодб-цлиент -ДцлассНаме = 'орг.ацме.рест.јсон.ФруитРесоурце' -Дпатх = '/ воће '-Дектенсионс =' рестеаси-јсонб, монгодб-клијент '

Када покренете горњу команду, ИДЕ ће у ваш систем увести ЈСОН-Б, МонгоДб као и РЕСТЕаси / ЈАКС-РС клијенте.

Настављамо са кораком 2.

Корак # 2: Додавање ваше прве ЈСОН услуге одмора

Да бисте то урадили, користите доњи код. пакет орг.ацме.рест.јсон импорт јава.утил.Објецтс јавна класа Воће {приватно Име низа приватно Опис низа јавно Фруит () {} Јавно Воће (Име низа, Опис низа) {тхис.наме = наме тхис.десцриптион = десцриптион } публиц Стринг гетНаме () {ретурн наме} јавна празнина сетНаме (име низа) {тхис.наме = наме} публиц Стринг гетДесцриптион () {ретурн десцриптион} јавна воид сетДесцриптион (опис низа) {тхис.десцриптион = десцриптион} @Оверриде публиц боолеан једнако (Објект обј) {иф (! (обј инстанцеоф Воће)) {ретурн фалсе} Воће остало = (Воће) обј ретурн Објецтс.екуалс (отхер.наме, тхис.наме)} @Оверриде публиц инт хасхЦоде () {ретурн Објецтс.хасх (тхис.наме)}}

Са горњим примером смо прво креирали Воће које ће се касније користити у програму.

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

пакет орг.ацме.рест.јсон импорт цом.монгодб.цлиент.МонгоЦлиент импорт цом.монгодб.цлиент.МонгоЦоллецтион импорт цом.монгодб.цлиент.МонгоЦурсор импорт орг.бсон.Доцумент импорт јавак.ентерприсе.цонтект.АпплицатионСцопед импорт јавак.индд. .Ињецт импорт јава.утил.АрраиЛист импорт јава.утил.Лист @АпплицатионСцопед јавна класа ФруитСервице {@Ињецт МонгоЦлиент монгоЦлиент публиц Лист лист () {Лист лист = нев АрраиЛист () МонгоЦурсор цурсор = гетЦоллецтион (). Финд (). Итератор (). ) пробајте {вхиле (цурсор.хасНект ()) {Доцумент доцумент = цурсор.нект () Фруит фруит = нев Фруит () фруит.сетНаме (доцумент.гетСтринг ('наме')) фруит.сетДесцриптион (доцумент.гетСтринг ('десцриптион) ')) лист.адд (воће)}} коначно {цурсор.цлосе ()} ретурн лист} јавна воид додај (Воће) {Документ документа = нови документ () .аппенд (' наме ', фруит.гетНаме ()) .аппенд ('десцриптион', фруит.гетДесцриптион ()) гетЦоллецтион (). инсертОне (доцумент)} привате МонгоЦоллецтион гетЦоллецтион () {ретурн монгоЦлиент.гетДатабасе ('фруит'). гетЦол лецтион ('фруит')}} Сада морамо уредити класу орг.ацме.рест.јсон.ФруитРесоурце како би одговарала нашим потребама. Да бисте то урадили, користите доњи код. @Патх ('/ фруит') @Продуцес (МедиаТипе.АППЛИЦАТИОН_ЈСОН) @Цонсумес (МедиаТипе.АППЛИЦАТИОН_ЈСОН) јавна класа ФруитРесоурце {@Ињецт ФруитСервице фруитСервице @ГЕТ јавна листа списка () {ретурн фруитСервице.лист ()} @ПОСТ јавна листа адд (Воћно воће) {фруитСервице.адд (воће) листа повратка ()}}

Настављамо са кораком 3.

Корак # 3: Конфигурисање базе података монгоДб

Синтакса, као и стандардни код за конфигурисање базе података монгоДб, дата је у наставку.

# конфигуришите клијента монгоДБ за скуп реплика два чвора куаркус.монгодб.цоннецтион-стринг = монгодб: // монго1: 27017, монго2: 27017

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

на снагу ин јава
# конфигуришите клијента монгоДБ за скуп реплика два чвора куаркус.монгодб.цоннецтион-стринг = монгодб: // лоцалхост: 27017

Настављамо са кораком 4.

Корак # 4: Покретање конфигурисане МонгоДБ базе података

Следећи корак је покретање МонгоДБ базе података коју смо управо креирали. Да бисте то урадили, користите доњи код.

доцкер рун -ти --рм -п 27017: 27017 монго: 4.0

Настављамо са кораком 5.

Корак # 5: Израда предњег краја

Сада када је сав посао на позадини апликације завршен, погледајмо код који се користи за кодирање предњег краја наше апликације.

пакет орг.ацме.рест.јсон импорт ио.куаркус.монгодб.РеацтивеМонгоЦлиент импорт ио.куаркус.монгодб.РеацтивеМонгоЦоллецтион импорт орг.бсон.Доцумент импорт јавак.ентерприсе.цонтект.АпплицатионСцопед импорт јавак.ињецт.Ињецт импорт јава.утил.Л импорт јава.утил.цонцуррент.ЦомплетионСтаге @АпплицатионСцопед јавна класа РеацтивеФруитСервице {@Ињецт РеацтивеМонгоЦлиент монгоЦлиент публиц ЦомплетионСтаге лист () {ретурн гетЦоллецтион (). финд (). мап (доц -> {Воће = ново Воће () фруит.сетНаме ( доц.гетСтринг ('наме')) фруит.сетДесцриптион (доц.гетСтринг ('десцриптион')) ретурн фруит}). тоЛист (). рун ()} публиц ЦомплетионСтаге адд (Воће) {Доцумент доцумент = нев Доцумент () .аппенд ('наме', фруит.гетНаме ()) .аппенд ('десцриптион', фруит.гетДесцриптион ()) ретурн гетЦоллецтион (). инсертОне (доцумент)} привате РеацтивеМонгоЦоллецтион гетЦоллецтион () {ретурн монгоЦлиент.гетДатабасе ('фруит' ) .гетЦоллецтион ('плод')}} пакет орг.ацме.рест.јсон импорт јавак.ињецт.Ињецт импорт јавак.вс.рс. * и мпорт јавак.вс.рс.цоре.МедиаТипе импорт јава.утил.Лист импорт јава.утил.цонцуррент.ЦомплетионСтаге @Патх ('/ реацтиве_фруитс') @Продуцес (МедиаТипе.АППЛИЦАТИОН_ЈСОН) @Цонсумес (МедиаТипе.АППЛИЦАТИОН_ЈСОН) јавна класа РеацтивеФруитР @Ињецт РеацтивеФруитСервице фруитСервице @ГЕТ публиц ЦомплетионСтаге лист () {ретурн фруитСервице.лист ()} @ПОСТ публиц ЦомплетионСтаге адд (Фруит фруит) {фруитСервице.адд (фруит) ретурн лист ()}}

У горенаведеном примеру користимо реактивни монгоДб клијент да олакша формирање предњег краја.

Настављамо са кораком 6.

Корак # 6: Поједностављивање монгоДб клијента помоћу БСОН кодека

Да бисте то урадили, користите доњи код.

пакет орг.ацме.рест.јсон.цодец импорт цом.монгодб.МонгоЦлиент импорт орг.ацме.рест.јсон.Фруит импорт орг.бсон. * импорт орг.бсон.цодецс.Цодец импорт орг.бсон.цодецс.ЦоллецтиблеЦодец импорт орг .бсон.цодецс.ДецодерЦонтект импорт орг.бсон.цодецс.ЕнцодерЦонтект импорт јава.утил.УУИД јавна класа ФруитЦодец имплементира ЦоллецтиблеЦодец {привате финал Цодец доцументЦодец публиц ФруитЦодец () {тхис.доцументЦодец = МонгоЦлиент.гетДефаултЦоде. )} @Оверриде јавно воид кодирање (БсонВритер Вритер, Фруит фруит, ЕнцодерЦонтект енцодерЦонтект) {Доцумент доц = нев Доцумент () доц.пут ('наме', фруит.гетНаме ()) доц.пут ('десцриптион', фруит.гетДесцриптион ()) доцументЦодец.енцоде (Вритер, Доц, енцодерЦонтект)} @Оверриде публиц Цласс гетЕнцодерЦласс () {ретурн Фруит.цласс} @ Оверриде публиц Фруит генерирајИдИфАбсентФромДоцумент (Воћни документ) {иф (! доцументХасИд (доцумент)) {доцумент.сетИд (доцумент) УУИД.рандомУУИД (). ТоСтринг ())} повратни документ} @Преузми јавни логички документХасИд ( Воћни документ) {ретурн доцумент.гетИд ()! = Нулл} @Преузми јавни БсонВалуе гетДоцументИд (воћни документ) {ретурн нев БсонСтринг (доцумент.гетИд ())} @ Оверриде публиц Фруит децоде (БсонРеадер читач, ДецодерЦонтект децодерЦонтект) {Доцумент доцумент доцумент = доцументЦодец.децоде (читач, декодерЦонтект) Воће воће = ново Воће () ако (доцумент.гетСтринг ('ид')! = нулл) {фруит.сетИд (доцумент.гетСтринг ('ид'))} фруит.сетНаме (документ .гетСтринг ('наме')) фруит.сетДесцриптион (доцумент.гетСтринг ('десцриптион')) ретурн фруит}}

Сада ћемо користити ЦодецПровидер да бисмо ово повезали са већ присутном класом Фруит.

пакет орг.ацме.рест.јсон.цодец импорт орг.ацме.рест.јсон.Фруит импорт орг.бсон.цодецс.Цодец импорт орг.бсон.цодецс.цонфигуратион.ЦодецПровидер импорт орг.бсон.цодецс.цонфигуратион.ЦодецРегистри јавна класа ФруитЦодецПровидер имплементира ЦодецПровидер {@Оверриде публиц Цодец гет (Цласс цлазз, Регистри ЦодецРегистри) {иф (цлазз == Фруит.цласс) {ретурн (Цодец) нев ФруитЦодец ()} ретурн нулл}}

Настављамо са кораком 7.

Корак # 7: Завршни код

Коначни код ове апликације изгледаће отприлике овако.

пакет орг.ацме.рест.јсон импорт цом.монгодб.цлиент.МонгоЦлиент импорт цом.монгодб.цлиент.МонгоЦоллецтион импорт цом.монгодб.цлиент.МонгоЦурсор импорт јавак.ентерприсе.цонтект.АпплицатионСцопед импорт јавак.ињецт.Ињетилцт импорт јава.уњетилцт импорт јавак. .АрраиЛист импорт јава.утил.Лист @АпплицатионСцопед јавна класа ЦодецФруитСервице {@Ињецт МонгоЦлиент монгоЦлиент публиц Лист лист () {Лист лист = нев АрраиЛист () МонгоЦурсор цурсор = гетЦоллецтион (). Финд (). Итератор () три {вхиле (цурсор) .хасНект ()) {лист.адд (цурсор.нект ())}} коначно {цурсор.цлосе ()} ретурн лист} јавна празнина додај (Воће) {гетЦоллецтион (). инсертОне (фруит)} привате МонгоЦоллецтион гетЦоллецтион ( ) {ретурн монгоЦлиент.гетДатабасе ('фруит'). гетЦоллецтион ('фруит', Фруит.цласс)}}

Закључак

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

Резиме чланка

Научите све о МонгоДБ клијенту и како га можете конфигурисати у свом систему за различите намене. Читајте даље да бисте сазнали више.

како претворити бинарни у децимални у јави

Овим смо дошли до краја ' Клијент МонгоДБ ' чланак.