Mikä on db.collection.updateOne() MongoDB:ssä?

Mika On Db Collection Updateone Mongodb Ssa



MongoDB on tehokas ei-relaatiotietokanta, joka voi tallentaa useita asiakirjoja. Joskus käyttäjän on ehkä päivitettävä yksittäinen asiakirja, joka täyttää tietyt kriteerit. Tässä tilanteessa he voivat käyttää ' db.collection.updateOne() ” -menetelmä, joka päivittää ja muokkaa ensimmäistä valintakriteerit täyttävää asiakirjaa ja muokkaa sitä.

Mikä on 'db.collection.updateOne()' -menetelmä MongoDB:ssä?

' db.collection.updateOne() ” -menetelmä päivittää yksittäisen asiakirjan, joka vastaa määritettyjä ehtoja. Jos useampi kuin yksi asiakirja täyttää kriteerit, vain ensimmäistä asiakirjaa muokataan. Sitä voidaan käyttää päivitysoperaattoreiden kanssa, kuten ' $set ”, “ $inc ” ja monta lisää .

Kuinka käyttää 'db.collection.updateOne()' -menetelmää MongoDB:ssä?

' db.collection.updateOne() ” -menetelmää voidaan käyttää päivittämään yhtä kenttää sekä yksittäisen asiakirjan useita kenttiä, jotka vastaavat valintakriteerejä. Lisäksi tämä menetelmä voi myös lisätä kentän dokumenttiin ja sitä voidaan käyttää päivitysoperaattoreiden kanssa. ' db.collection.updateOne() ”menetelmä on annettu alla:







Perussyntaksi



db.collection.updateOne ( { filter_criteria } , { päivittää } , { vaihtoehtoja } )

Tässä yllä olevassa syntaksissa:



  • Tämä menetelmä päivittää ensimmäisen asiakirjan, joka täyttää valintakriteerit
  • ' filter_criteria ” määrittelee päivityksen kriteerit
  • ' päivittää ” sisältää kentät, joita asiakirjassa muutetaan
  • ' vaihtoehtoja ' argumentti on valinnainen argumentti, joka muuttaa tämän menetelmän toimintaa, kuten ' järkyttynyt ' ja ' vihje

Tässä viestissä käytämme ' Linuxhint_Col2 'kokoelman asiakirjat osoittamaan ' db.collection.updateOne() ”menetelmä. Voit tarkastella tähän kokoelmaan tallennettuja asiakirjoja suorittamalla annettu komento:





db.Linuxhint_Col2.find ( )

Lähtö

Tulos haki kaikki asiakirjat, jotka oli tallennettu ' Linuxhint_Col2 ”kokoelma.



Esimerkki 1: Päivitä yksittäinen kenttä
Jos haluat päivittää asiakirjan yksittäisen kentän, määritä sen valintakriteerit ja päivitä kriteerit. Päivityskriteerit voidaan määritellä päivitysoperaattoreiden avulla. Suoritamme kyselyn päivittääksemme ' Mallinnusmaksu ' kenttään ' 18 000 ' missä ' Sukunimi 'objekti on yhtä kuin' Depp ' asiakirjassa:

db.Linuxhint_Col2.updateOne ( { 'Mallin_nimi.Sukunimi' : 'Depp' } , { $set : { Modeling_Fee: 18 000 } } )

Lähtö

Tulos palautti onnistumisviestin.

Vahvista tehdyt muutokset hakemalla kyseinen asiakirja käyttämällä tätä ' löytö() 'komento:

db.Linuxhint_Col2.find ( { 'Mallin_nimi.Sukunimi' : 'Depp' } )

Lähtö

Tulos vahvisti, että asiakirjan päivitys onnistui.

Esimerkki 2: Lisää uusi kenttä 'db.collection.updateOne()'-menetelmällä
' db.collection.updateOne() ' -menetelmä lisää uuden kentän käyttämällä ' $set ”-operaattori dokumentissa, jos sitä ei ole jo olemassa. Kuten ' Kokea ' -kenttää ei ole olemassa asiakirjoille, joissa ' Mallinnusmaksu ' on vähemmän kuin ' 9000 ”.

Lisätään uusi kenttä ' Kokea ' arvolla ' Aloittelija ' asiakirjassa, jossa ' Mallinnusmaksu ' on vähemmän kuin ' 9000 ' käyttämällä tätä kyselyä:

db.Linuxhint_Col2.updateOne ( { 'Modeling_Fee' : { $lt : 9000 } } , { $set : { 'Kokea' : 'Aloittelija' } } )

Lähtö

Tulos palauttaa sanoman, joka osoittaa, että yksi asiakirja vastaa valintaehtoja ja että sitä on muokattu onnistuneesti.

Varmistetaan se hakemalla kaikki kokoelmasta saatavilla olevat asiakirjat ' Linuxhint_Col2 ':

db.Linuxhint_Col2.find ( )

Lähtö

Tulos näyttää, että yhtä ehdon täyttävää asiakirjaa on muutettu ja uusi kenttä on lisätty onnistuneesti.

Esimerkki 3: Päivitä asiakirjan useita kenttiä 'db.collection.updateOne()'-menetelmällä
Käyttäjä voi muokata useita kenttiä yhdessä asiakirjassa jopa. Tässä tämä alla annettu kysely muuttaa sen asiakirjan sukunimeä ja ikää, jossa ' Etunimi 'on yhtä kuin' Noah ':

db.Linuxhint_Col2.updateOne ( { 'Mallin_nimi.Etunimi' : 'Noah' } , { $set : { 'Mallin_nimi.Sukunimi' : 'Doe' , 'Malli_ikä' : 23 } } )

Lähtö

Kysely on suoritettu ilman virheitä.

Vahvista muutokset käyttämällä 'find()'-menetelmää hakeaksesi asiakirjan, jossa ' Etunimi 'on yhtä kuin' Noah :

db.Linuxhint_Col2.find ( { 'Mallin_nimi.Etunimi' : 'Noah' } )

Lähtö

Tulos palautti muokatun asiakirjan onnistuneesti.

Esimerkki 4: Käytä 'db.collection.updateOne()' -menetelmää päivitysoperaattoreiden kanssa
Kuten edellisessä esimerkissä, käytimme ' $set päivitä operaattori muuttaaksesi arvoja db.collection.updateOne() ”menetelmä. Yritetään käyttää toista päivitysoperaattoria ' $inc ', joka kasvattaa kenttää määritetyllä määrällä.

Tässä alla olevassa kyselyssä menetelmä etsii asiakirjaa, jossa ' Etunimi 'on yhtä kuin' Kate 'ja lisää' 1000 ' kohdassa ' Mallinnusmaksu ' -kentän arvo:

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

Lähtö

Tulos palautti onnistumisviestin.

Jos haluat nähdä muutokset, käytä ' löytö() ' tapa noutaa asia, jota asia koskee:

db.Linuxhint_Col2.find ( { 'Mallin_nimi.Etunimi' : 'Kate' } )

Lähtö

Tulos esittää muokatun arvon ' Mallinnusmaksu ”.

Esimerkki 5: Lisää uusi asiakirja, jos sitä ei ole jo olemassa käyttämällä 'upsert'-argumenttia
Valinnaista argumenttia voidaan käyttää tämän menetelmän käyttäytymisen muuttamiseksi. Yksi tällainen vaihtoehto on ' järkyttynyt ', joka lisää uuden asiakirjan, jos mikään jo olemassa oleva dokumentti ei täytä kyselyssä määritettyjä valintaehtoja.

Yritetään lisätä uusi asiakirja määrittämällä valintakriteerit, jotka eivät täytä olemassa olevia asiakirjoja. Aseta sen jälkeen sille joitakin kenttiä ja lisää vaihtoehto ' järkyttynyt ' 'tosi' alla olevan komennon mukaisesti:

db.Linuxhint_Col2.updateOne ( { 'Mallin_nimi.Etunimi' : 'David' } , { $set : { Modeling_Fee: 10 000 , Model_Age: 23 , 'Mallin_nimi.Sukunimi' : 'Smith' } } , { upsert: totta } )

Lähtö

Lähtö osoitti kuitatun viestin tosi.

Lopuksi tarkista sen muutos suorittamalla tämä komento:

db.Linuxhint_Col2.find ( { 'Mallin_nimi.Etunimi' : 'David' } )

Lähtö

Tulos osoitti, että uusi asiakirja on lisätty onnistuneesti.

Johtopäätös

' db.collection.updateOne() ” -menetelmää MongoDB:ssä käytetään ensimmäisen valintakriteerit täyttävän asiakirjan päivittämiseen. Se voi muokata yhtä tai useita kenttiä asiakirjassa käyttämällä päivitysoperaattoreita, kuten ' $set ' ja ' $inc ”. Lisäksi tämä menetelmä hyväksyy myös valinnaisia ​​argumentteja menetelmän käyttäytymisen muuttamiseksi, kuten ' järkyttynyt ', joka lisää uuden asiakirjan, jos valintakriteerit eivät vastaa olemassa olevaa asiakirjaa. Tässä viestissä on käsitelty ' db.collection.updateOne() ”menetelmä MongoDB:ssä.