MongoDB update


ULASHISH

Hujjatni yangilash

Mavjud hujjatni yangilash uchun updateOne() yoki updateMany() usullaridan foydalanishimiz mumkin.

Birinchi parametr qaysi hujjat (document) yoki hujjatlarni yangilash kerakligini aniqlash uchun so‘rov obyektidir.

Ikkinchi parametr - yangilangan ma’lumotlarni belgilaydigan obyekt.


updateOne()

updateOne() usuli taqdim etilgan so‘rovga mos keladigan birinchi hujjatni yangilaydi.

Keling, “1-post sarlavhasi” sarlavhali post uchun “layk” qancha baholanishini ko‘raylik:

Misol

db.posts.find( { title: "Post Title 1" } ) 
O‘zingiz sinab ko‘ring »

Endi ushbu postdagi "layk"larni 2 ga yangilaymiz. Buning uchun $set operatoridan foydalanishimiz kerak.

Misol

db.posts.updateOne( { title: "Post Title 1" }, { $set: { likes: 2 } } ) 
O‘zingiz sinab ko‘ring »

Hujjatni yana bir bor tekshirib ko‘ring va "like" yangilanganligini ko‘rasiz.

Misol

db.posts.find( { title: "Post Title 1" } ) 
O‘zingiz sinab ko‘ring »

Agar topilmasa, kiriting

Agar hujjat (document) topilmasa, uni kiritmoqchi bo‘lsangiz, yuqoriga o‘rnatish opsiyasidan foydalanishingiz mumkin.

Misol

Hujjatni yangilang, lekin topilmasa, uni kiriting:

db.posts.updateOne( 
  { title: "Post Title 5" }, 
  {
    $set: 
      {
        title: "Post Title 5",
        body: "Body of post.",
        category: "Event",
        likes: 5,
        tags: ["news", "events"],
        date: Date()
      }
  }, 
  { upsert: true }
)
O‘zingiz sinab ko‘ring »


updateMany()

updateMany() usuli taqdim etilgan so‘rovga mos keladigan barcha hujjatlarni yangilaydi.

Misol

Barcha hujjatlardagi yoqtirishlarni 1 ga yangilang. Buning uchun biz $inc (increment) operatoridan foydalanamiz:

db.posts.updateMany({}, { $inc: { likes: 1 } })
O‘zingiz sinab ko‘ring »

Endi barcha hujjatlardagi yoqtirishlarni tekshiring va ularning barchasi 1 ga oshirilganligini ko‘rasiz.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!