Шта је дб.цоллецтион.упдатеОне() у МонгоДБ-у?

Sta Je Db Collection Updateone U Mongodb U



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

Шта је метода „дб.цоллецтион.упдатеОне()“ у МонгоДБ-у?

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

Како користити метод „дб.цоллецтион.упдатеОне()“ у МонгоДБ-у?

дб.цоллецтион.упдатеОне() ” метода се може користити за ажурирање једног поља као и више поља једног документа која одговарају критеријумима одабира. Штавише, овај метод такође може додати поље у документ и може се користити са операторима ажурирања. Синтакса „ дб.цоллецтион.упдатеОне() ” метода је дата у наставку:







Основна синтакса



дб.цоллецтион.упдатеОне ( { филтер_критеријум } , { ажурирање } , { Опције } )

Овде у горњој синтакси:



  • Овај метод ће ажурирати први документ који испуњава критеријуме за избор
  • филтер_критеријум ” дефинише критеријуме за ажурирање
  • ажурирање ” садржи поља која ће бити измењена у документу
  • Опције ” аргумент је опциони аргумент који модификује рад овог метода, као што је „ упсерт ' и ' наговестити

За овај пост, користићемо „ Линукхинт_Цол2 ” документи збирке да би се демонстрирао рад “ дб.цоллецтион.упдатеОне() ” метод. Да бисте видели документе ускладиштене у овој колекцији, извршите дату команду:





дб.Линукхинт_Цол2.финд ( )

Излаз

Излаз је преузео све документе ускладиштене у „ Линукхинт_Цол2 ” збирка.



Пример 1: Ажурирајте једно поље
Да бисте ажурирали једно поље у документу, дефинишите његове критеријуме за избор и ажурирајте критеријуме. Критеријуми ажурирања се могу дефинисати помоћу оператора ажурирања. Хајде да покренемо упит да ажурирамо „ Моделинг_Фее ” поље до “ 18000 ' где ' Презиме ” објекат је једнак “ Депп ” у документу:

дб.Линукхинт_Цол2.упдатеОне ( { 'Модел_Наме.Ласт_Наме' : 'деп' } , { $сет : { Моделинг_Фе: 18000 } } )

Излаз

Излаз је вратио поруку о успеху.

Да бисте потврдили извршене промене, преузмите документ на који се то односи помоћу ове „ финд() ” команда:

дб.Линукхинт_Цол2.финд ( { 'Модел_Наме.Ласт_Наме' : 'деп' } )

Излаз

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

Пример 2: Додајте ново поље помоћу методе „дб.цоллецтион.упдатеОне()“
дб.цоллецтион.упдатеОне() ” метод додаје ново поље користећи „ $сет ” оператор у документу ако већ не постоји. Као што је „ Искуство ” поље не постоји за документе у којима је „ Моделинг_Фее ' је мање од ' 9000 ”.

Хајде да додамо ново поље „ Искуство ” са вредношћу “ Бегиннер ” у документу где је „ Моделинг_Фее ' је мање од ' 9000 ” користећи овај упит:

дб.Линукхинт_Цол2.упдатеОне ( { 'Моделинг_Фее' : { $лт : 9000 } } , { $сет : { 'Искуство' : 'Почетник' } } )

Излаз

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

Хајде да то проверимо тако што ћемо преузети све документе доступне у колекцији “ Линукхинт_Цол2 ”:

дб.Линукхинт_Цол2.финд ( )

Излаз

Излаз показује да је један документ који испуњава услов измењен, а ново поље је успешно убачено.

Пример 3: Ажурирајте више поља документа помоћу методе „дб.цоллецтион.упдатеОне()“
Корисник може чак и да измени више поља у једном документу. Овде ће овај упит дат у наставку изменити презиме и старост за документ где је „ Име ” једнако “ Ноах “:

дб.Линукхинт_Цол2.упдатеОне ( { „Модел_Наме.Фирст_Наме“ : 'Ноа' } , { $сет : { 'Модел_Наме.Ласт_Наме' : 'Срна' , „Модел_Аге“ : 23 } } )

Излаз

Упит је извршен без грешке.

Да бисте проверили промене, користите метод „финд()“ да бисте преузели документ где је „ Име ” једнако “ Ноах :

дб.Линукхинт_Цол2.финд ( { „Модел_Наме.Фирст_Наме“ : 'Ноа' } )

Излаз

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

Пример 4: Користите метод „дб.цоллецтион.упдатеОне()“ са операторима ажурирања
Као иу претходном примеру, користили смо „ $сет ” оператор ажурирања да бисте изменили вредности у „ дб.цоллецтион.упдатеОне() ” метод. Хајде да покушамо да користимо други оператор ажурирања “ $инц ” који повећава поље са наведеним износом.

Овде, у упиту који је дат у наставку, метода тражи документ у коме је „ Име ” једнако “ Кате “ и додаје „ 1000 ” у „ Моделинг_Фее ” вредност поља:

дб.Линукхинт_Цол2.упдатеОне ( { „Модел_Наме.Фирст_Наме“ : 'Кате' } , { $инц : { Моделинг_Фе: 1000 } } )

Излаз

Излаз је вратио поруку о успеху.

Да бисте видели промене, користите „ финд() ” метод за преузимање захваћеног документа:

дб.Линукхинт_Цол2.финд ( { „Модел_Наме.Фирст_Наме“ : 'Кате' } )

Излаз

Излаз приказује измењену вредност „ Моделинг_Фее ”.

Пример 5: Додајте нови документ ако већ не постоји користећи аргумент „упсерт“
Опциони аргумент се може користити за промену понашања ове методе. Једна таква опција је „ упсерт ” који додаје нови документ ако ниједан постојећи документ не испуњава критеријуме за избор дефинисане у упиту.

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

дб.Линукхинт_Цол2.упдатеОне ( { „Модел_Наме.Фирст_Наме“ : 'Давид' } , { $сет : { Моделинг_Фе: 10000 ,  Модел_Аге: 23 , 'Модел_Наме.Ласт_Наме' : 'Смит' } } , { узбудити: истина } )

Излаз

Излаз је показао да је потврђена порука истинита.

На крају, проверите његову измену покретањем ове команде:

дб.Линукхинт_Цол2.финд ( { „Модел_Наме.Фирст_Наме“ : 'Давид' } )

Излаз

Излаз је показао да је нови документ успешно додат.

Закључак

дб.цоллецтион.упдатеОне() ” метода у МонгоДБ се користи за ажурирање првог документа који испуњава критеријуме за избор. Може да измени једно као и више поља у документу коришћењем оператора ажурирања, као што је „ $сет ' и ' $инц ”. Штавише, овај метод такође прихвата опционе аргументе за промену понашања методе, као што је „ упсерт ” који додаје нови документ у случају да критеријуми за избор не одговарају ниједном постојећем документу. Овај пост говори о употреби „ дб.цоллецтион.упдатеОне() ” метод у МонгоДБ.