Kas yra db.collection.updateOne() MongoDB?

Kas Yra Db Collection Updateone Mongodb



MongoDB yra galinga nesusijusi duomenų bazė, kurioje galima saugoti kelis dokumentus. Kartais vartotojui gali tekti atnaujinti vieną dokumentą, atitinkantį tam tikrus kriterijus. Esant tokiai situacijai, jie gali naudoti „ db.collection.updateOne() ” metodą, kuris atnaujina ir modifikuoja pirmąjį atrankos kriterijus atitinkantį dokumentą bei jį modifikuoja.

Kas yra „db.collection.updateOne()“ metodas MongoDB?

db.collection.updateOne() “ metodas atnaujina vieną dokumentą, atitinkantį apibrėžtus kriterijus. Jei kriterijus atitinka daugiau nei vienas dokumentas, bus pakeistas tik pirmasis dokumentas. Jis gali būti naudojamas su naujinimo operatoriais, pvz. $set “, „ $inc “ ir daug daugiau .

Kaip MongoDB naudoti „db.collection.updateOne()“ metodą?

db.collection.updateOne() “ metodas gali būti naudojamas norint atnaujinti vieną lauką, taip pat kelis vieno dokumento laukus, atitinkančius atrankos kriterijus. Be to, šis metodas taip pat gali pridėti lauką prie dokumento ir gali būti naudojamas su atnaujinimo operatoriais. „“ sintaksė db.collection.updateOne() “ metodas pateikiamas žemiau:







Pagrindinė sintaksė



db.collection.updateOne ( { filtro_kriterijai } , { atnaujinti } , { galimybės } )

Čia aukščiau pateiktoje sintaksėje:



  • Šis metodas atnaujins pirmąjį dokumentą, atitinkantį atrankos kriterijus
  • filtro_kriterijai “ apibrėžia atnaujinimo kriterijus
  • atnaujinti “ yra laukai, kurie bus pakeisti dokumente
  • galimybės “ argumentas yra neprivalomas argumentas, pakeičiantis šio metodo veikimą, pvz., „ sutrikęs “ ir „ užuomina

Šiam įrašui naudosime „ Linuxhint_Col2 kolekcijos dokumentus, įrodančius, kaip veikia db.collection.updateOne() “ metodas. Norėdami peržiūrėti šioje kolekcijoje saugomus dokumentus, vykdykite pateiktą komandą:





db.Linuxhint_Col2.find ( )

Išvestis

Išvestis gavo visus dokumentus, saugomus ' Linuxhint_Col2 “ kolekcija.



1 pavyzdys: atnaujinkite vieną lauką
Norėdami atnaujinti vieną dokumento lauką, apibrėžkite jo atrankos kriterijus ir atnaujinkite kriterijus. Atnaujinimo kriterijus galima apibrėžti naudojant atnaujinimo operatorius. Paleiskite užklausą, kad atnaujintume Modeliavimo_mokestis “ laukas į “ 18 000 ' kur ' Pavardė 'objektas lygus' Deppas “ dokumente:

db.Linuxhint_Col2.updateOne ( { 'Modelio_vardas.Pavardė' : 'Deppas' } , { $set : { Modeling_Fee: 18 000 } } )

Išvestis

Išvestis grąžino sėkmės pranešimą.

Norėdami patikrinti atliktus pakeitimus, gaukite paveiktą dokumentą naudodami šį ' rasti () “ komanda:

db.Linuxhint_Col2.find ( { 'Modelio_vardas.Pavardė' : 'Deppas' } )

Išvestis

Išvestis patvirtino, kad dokumentas buvo sėkmingai atnaujintas.

2 pavyzdys: pridėkite naują lauką naudodami „db.collection.updateOne()“ metodą
db.collection.updateOne() “ metodas prideda naują lauką naudodamas „ $set “ operatorių dokumente, jei jo dar nėra. Kaip „ Patirtis ' laukas neegzistuoja dokumentams, kuriuose ' Modeliavimo_mokestis ' mažiau nei ' 9000 “.

Pridėkime naują lauką “ Patirtis 'su reikšme ' Pradedantysis “ dokumente, kuriame „ Modeliavimo_mokestis ' mažiau nei ' 9000 “ naudojant šią užklausą:

db.Linuxhint_Col2.updateOne ( { 'Modeliavimo_mokestis' : { $ lt : 9000 } } , { $set : { 'Patirtis' : 'Pradedantysis' } } )

Išvestis

Išvestis grąžina pranešimą, nurodantį, kad vienas dokumentas atitinka atrankos kriterijus ir buvo sėkmingai modifikuotas.

Leiskite mums tai patikrinti, paimdami visus kolekcijoje esančius dokumentus “ Linuxhint_Col2 “:

db.Linuxhint_Col2.find ( )

Išvestis

Išvestis rodo, kad vienas sąlygą atitinkantis dokumentas yra pakeistas ir sėkmingai įterptas naujas laukas.

3 pavyzdys: Atnaujinkite kelis dokumento laukus naudojant „db.collection.updateOne()“ metodą
Vartotojas gali keisti kelis laukus viename dokumente net. Čia ši žemiau pateikta užklausa pakeis dokumento pavardę ir amžių, kur „ Pirmas vardas 'lygu' Nojus “:

db.Linuxhint_Col2.updateOne ( { 'Modelio_vardas.Vardas' : 'Nojus' } , { $set : { 'Modelio_vardas.Pavardė' : 'Eiras' , 'Model_Age' : 23 } } )

Išvestis

Užklausa buvo įvykdyta be klaidų.

Norėdami patikrinti pakeitimus, naudokite „find()“ metodą, kad gautumėte dokumentą, kuriame „ Pirmas vardas 'lygu' Nojus :

db.Linuxhint_Col2.find ( { 'Modelio_vardas.Vardas' : 'Nojus' } )

Išvestis

Išvestis sėkmingai grąžino pakeistą dokumentą.

4 pavyzdys: naudokite „db.collection.updateOne()“ metodą su naujinimo operatoriais
Kaip ir ankstesniame pavyzdyje, mes naudojome „ $set atnaujinkite operatorių, kad pakeistumėte reikšmes db.collection.updateOne() “ metodas. Pabandykime naudoti kitą naujinimo operatorių “ $inc “, kuris padidina lauką nurodyta suma.

Toliau pateiktoje užklausoje metodas ieško dokumento, kuriame „ Pirmas vardas 'lygu' Kate “ ir priduria „ 1000 ' viduje ' Modeliavimo_mokestis “ lauko reikšmė:

db.Linuxhint_Col2.updateOne ( { 'Modelio_vardas.Vardas' : 'Kate' } , { $inc : { Modeling_Fee: 1000 } } )

Išvestis

Išvestis grąžino sėkmės pranešimą.

Norėdami pamatyti pakeitimus, naudokite ' rasti () “ būdas gauti paveiktą dokumentą:

db.Linuxhint_Col2.find ( { 'Modelio_vardas.Vardas' : 'Kate' } )

Išvestis

Išvestis vaizduoja pakeistą ' reikšmę Modeliavimo_mokestis “.

5 pavyzdys: pridėkite naują dokumentą, jei jis jau neegzistuoja, naudojant „upsert“ argumentą
Neprivalomas argumentas gali būti naudojamas norint pakeisti šio metodo veikimą. Vienas iš tokių variantų yra „ nusiminęs “, kuri prideda naują dokumentą, jei nė vienas jau esamas dokumentas neatitinka užklausoje nustatytų atrankos kriterijų.

Pabandykime pridėti naują dokumentą, apibrėždami atrankos kriterijus, kurie neatitinka jau esamų dokumentų. Po to nustatykite tam tikrus laukus ir pridėkite parinktį „ nusiminęs “ kaip „true“, kaip parodyta toliau pateiktoje komandoje:

db.Linuxhint_Col2.updateOne ( { 'Modelio_vardas.Vardas' : 'Deividas' } , { $set : { Modeling_Fee: 10 000 , Model_Age: 23 , 'Modelio_vardas.Pavardė' : 'Kalvis' } } , { pakelti: tiesa } )

Išvestis

Išvestis patvirtino pranešimą kaip teisingą.

Galiausiai patikrinkite jo modifikaciją vykdydami šią komandą:

db.Linuxhint_Col2.find ( { 'Modelio_vardas.Vardas' : 'Deividas' } )

Išvestis

Išvestis rodo, kad naujas dokumentas buvo sėkmingai pridėtas.

Išvada

db.collection.updateOne() “ metodas MongoDB naudojamas atnaujinti pirmąjį dokumentą, atitinkantį atrankos kriterijus. Jis gali modifikuoti vieną ir kelis dokumento laukus naudodamas naujinimo operatorius, pvz. $set “ ir „ $inc “. Be to, šis metodas taip pat priima pasirenkamus argumentus, kad pakeistų metodo elgesį, pvz., „ sutrikęs “, kuris prideda naują dokumentą, jei atrankos kriterijai neatitinka jokio esamo dokumento. Šiame įraše buvo aptartas „ db.collection.updateOne() “ metodas MongoDB.