Chapter about This Book License


Chapter 5 Chapter 2 - Updating



Download 187,21 Kb.
Pdf ko'rish
bet8/30
Sana31.12.2021
Hajmi187,21 Kb.
#219451
1   ...   4   5   6   7   8   9   10   11   ...   30
Bog'liq
mongodb

Chapter 5

Chapter 2 - Updating

In chapter 1 we introduced three of the four CRUD (create, read, update and delete) operations. This chapter is

dedicated to the one we skipped over:

update


.

Update


has a few surprising behaviors, which is why we dedicate a

chapter to it.

19



Update: Replace Versus $set

In its simplest form,

update

takes two parameters: the selector (where) to use and what updates to apply to fields. If



Roooooodles had gained a bit of weight, you might expect that we should execute:

db.unicorns.update({name:

'Roooooodles'

},

{weight: 590})



(If you’ve played with your

unicorns


collection and it doesn’t have the original data anymore, go ahead and

remove


all documents and re-insert from the code in chapter 1.)

Now, if we look at the updated record:

db.unicorns.find({name:

'Roooooodles'

})

You should discover the first surprise of



update

. No document is found because the second parameter we supplied

didn’t have any update operators, and therefore it was used to replace the original document. In other words, the

update


found a document by

name


and replaced the entire document with the new document (the second parameter).

There is no equivalent functionality to this in SQL’s

update

command. In some situations, this is ideal and can be



leveraged for some truly dynamic updates. However, when you want to change the value of one, or a few fields, you

must use MongoDB’s

$set

operator. Go ahead and run this update to reset the lost fields:



db.unicorns.update({weight: 590}, {$set: {

name:


'Roooooodles'

,

dob:



new

Date(1979, 7, 18, 18, 44),

loves: [

'apple'


],

gender:


'm'

,

vampires: 99}})



This won’t overwrite the new

weight


since we didn’t specify it. Now if we execute:

db.unicorns.find({name:

'Roooooodles'

})

We get the expected result. Therefore, the correct way to have updated the weight in the first place is:



db.unicorns.update({name:

'Roooooodles'

},

{$set: {weight: 590}})



20



Download 187,21 Kb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   30




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish