MongoDB update
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:
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.
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!
