Asiakirjan perustiedot
MongoDB tarjoaa päivityksen () -komennon päivittääksesi kokoelman asiakirjat. Jos haluat päivittää vain päivitettävät asiakirjat, voit lisätä ehtoja päivityslausekkeeseen siten, että vain valitut asiakirjat päivitetään.
Komennon perusparametrit ovat ehto, jolle dokumentti on päivitettävä, ja seuraava on suoritettava muutos.
Seuraava esimerkki osoittaa, miten tämä voidaan tehdä.
Vaihe 1) Anna päivityskomento
Vaihe 2) Valitse ehto, jota haluat käyttää päättääksesi, mikä asiakirja on päivitettävä. Esimerkissämme haluamme päivittää asiakirjan, jolla on työntekijän tunnus 22.
Vaihe 3) Muokkaa set-komentoa kentän nimeä
Vaihe 4) Valitse muokattava kentän nimi ja kirjoita uusi arvo vastaavasti.
db.Employee.update({"Employeeid" : 1},{$set: { "EmployeeName" : "NewMartin"}});
Jos komento suoritetaan onnistuneesti, seuraava lähtö näytetään
Tuotos:
Lähtö osoittaa selvästi, että yksi tietue vastasi ehtoa ja siten asiaankuuluvaa kentän arvoa muokattiin.
Useiden arvojen päivittäminen
Varmistaaksesi, että useita / joukkodokumentteja päivitetään samanaikaisesti MongoDB: ssä, sinun on käytettävä monivaihtoehtoa, koska muuten oletusarvoisesti vain yhtä asiakirjaa muutetaan kerrallaan.
Seuraava esimerkki näyttää, kuinka monet asiakirjat päivitetään.
Tässä esimerkissä etsimme ensin asiakirjan, jolla on työntekijän tunnus "1", ja vaihdamme työntekijän nimen "Martin" nimeksi "NewMartin".
Vaihe 1) Anna päivityskomento
Vaihe 2) Valitse ehto, jota haluat käyttää päättääksesi, mikä asiakirja on päivitettävä. Esimerkissämme haluamme päivittää asiakirjan, jolla on työntekijän tunnus "1".
Vaihe 3) Valitse muokattavat kenttien nimet ja kirjoita niiden uusi arvo vastaavasti.
db.Employee.update({Employeeid : 1},{$set :{"EmployeeName" : "NewMartin","Employeeid" : 22}})
Jos komento suoritetaan onnistuneesti ja jos suoritat "etsi" -komennon etsiäksesi asiakirjaa, jonka työntekijän tunnus on 22, näet seuraavan tuloksen.
Tuotos:
Lähtö osoittaa selvästi, että yksi tietue vastasi ehtoa ja siten asiaankuuluvaa kentän arvoa muokattiin.