Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ทำให้ MongoDB แทนที่ค่าอาร์เรย์เดี่ยวด้วย string


เพื่อแทนที่ ให้ใช้ $set และ positional ($) operator มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน

> db.demo564.insertOne({"StudentName":["Chris","David","Mike","Sam"]});{    "acknowledged" : true, "insertedId" : ObjectId("5e90880a39cfeaaf0b97b576") }

แสดงเอกสารทั้งหมดจากคอลเลกชันด้วยเมธอด find()

> db.demo564.find().pretty();

จะได้ผลลัพธ์ดังนี้

{    "_id" : ObjectId("5e90880a39cfeaaf0b97b576"),    "StudentName" : [       "Chris",       "David",       "Mike",       "Sam"    ] }

คำสั่งสำหรับแทนที่ค่าอาร์เรย์เดี่ยวด้วย string

> db.demo564.updateMany( ...    { "StudentName": "David" }, ...    { "$set": { "StudentName.$": "Carol Taylor" } } ... ) { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 } >

แสดงเอกสารทั้งหมดจากคอลเลกชันด้วยเมธอด find()

> db.demo564.find().pretty();

จะได้ผลลัพธ์ดังนี้

{    "_id" : ObjectId("5e90880a39cfeaaf0b97b576"),    "StudentName" : [       "Chris",       "Carol Taylor",       "Mike",       "Sam"    ] }