MongoDB-де бізде құжатты жинақта жаңартудың екі жолы бар. 1) update () әдісі 2) save () әдісі. Екі әдіс де бар құжатты жаңартса да, олар түрлі сценарийлерде қолданылады. Жаңарту () әдісі, бар құжатты сақтауға болатын құжатты ауыстыру үшін қолданылған құжаттың мәндерін жаңарту қажет болғанда қолданылады.
Құжатты MongoDB ішінде жаңарту үшін біз өлшемдеріне сай келетін пәрменде және құжатта өлшемдерді қамтамасыз етеміз. MongoDB пәрмендерінде критерийлердің қалай жұмыс істейтінін түсіну үшін соңғы оқулықты қараңыз: MongoDB Сұраныс құжаты
Жаңарту () әдісін қолдану арқылы құжатты жаңарту
Синтаксис:
db.collection_name.update (өлшемдер, update_data)
Мысал:
Мысалы: «beginnersbookdb» дерекқорында «got» деп аталатын коллекция бар деп айтуға рұқсат етіңіз. «Алынған» құжаттар:
> db.got.find (). pretty () { «_id»: ObjectId («59bd2e73ce524b733f14dd65»), «аты»: «Джон Сноу», «жас»: 32 } { «_id»: ObjectId («59bd2e8bce524b733f14dd66»), «аты»: «Хал дрого», «жас»: 36 } { «_id»: ObjectId («59bd2e9fce524b733f14dd67»), «аты»: «Sansa Stark», «жас»: 20 } { «_id»: ObjectId («59bd2ec5ce524b733f14dd68»), «аты»: «Лорд Варс», «жас»: 42 }
Енді Джон Сноу деген атауды «Kit Harington» деген атпен жаңартқым келеді. Бұл бұйрық:
db.got.update ({«name»: «Jon Snow»}, {$ set: {«name»: «Kit Harington»}})
Шығару:
Құжат жаңартылғанын көріп отырсыз.
Сен білесің бе? Әдепкіде жаңарту әдісі бір құжатты жаңартады. Жоғарыда келтірілген мысалда өлшемдерге сәйкес келетін бір ғана құжат болған, алайда көп болған жағдайда ғана бір құжат жаңартылған еді. Бірнеше құжатты жаңартуға update () әдісін қосу үшін, осы әдіс «көп» параметрін төменде көрсетілгендей шын деп орнатыңыз.
Жаңарту () әдісімен бірнеше құжатты жаңарту үшін:
db.got.update ({«name»: «Jon Snow»}, {$ set: {«name»: «Kit Harington»}}, {multi: шын})
Save () әдісін қолдану арқылы құжатты жаңарту
Синтаксис:
db.collection_name.save ({_id: ObjectId (), new_document))
Жоғарыда көргенімізге мысал келтірейік. Енді «Кит Харингтон» деген атауды «Джон Сноу» -ға жаңартқымыз келеді. Save () әдісімен жұмыс істеу үшін осы құжаттың бірегей өрісін білуіңіз керек.
Айта кету керек, save () функциясын пайдалану кезінде _id өрісін қамтамасыз етпегенде ,
әдісі, ол кірістіру () әдісін шақырады, ал құжат қабылданған құжат жаңа құжат ретінде жинаққа кірістіріледі
Құжатты алу үшін осы пәрменді теруге болады:
db.got.find (). ()
Мұнда жинақтың атауы берілген. Бірегей құжаттарды табу әдісі тек қана бірнеше құжаттар болған кезде пайдалы болады, әйтпесе айналдыру және құжаттарды көп мөлшерде іздестіру қиын.
Егер сізде көптеген құжаттар болса, белгілі бір құжатты алу үшін find () әдісіндегі критерийлерді пайдаланыңыз. Мысалы: save () әдісін қолдану арқылы жаңартқымыз келетін құжатты алу үшін мына пәрменді теріңіз:
> db.got.find ({«name»: «Kit Harington»}). pretty () { «_id»: ObjectId («59bd2e73ce524b733f14dd65»), «аты»: «Kit Harington», «жас»: 32 }
Енді біз осы құжаттың бірегей өрісін білеміз. Save () әдісі арқылы пәрменді жазуға мүмкіндік береді.
> db.got.save ({«_ id»: ObjectId («59bd2e73ce524b733f14dd65»), «name»: «Джон Сноу», «жас»: 30)) >
Бұл шығуды көресіз:
WriteResult ({«nMatched»: 1, «nUpserted»: 0, «nModified»: 1})
Жаңартуды тексеріңіз:
Пікір қалдыру Жауапты