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

แบบสอบถาม MongoDB เพื่ออัปเดตอาร์เรย์ด้วยฟิลด์อื่น?


หากต้องการอัปเดตอาร์เรย์ด้วยฟิลด์อื่น ให้ใช้ $push ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo283.insertOne({"Name":"Chris","Status":["Active","Inactive"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4ab97ddd099650a5401a75")
}

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

> db.demo283.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e4ab97ddd099650a5401a75"), "Name" : "Chris", "Status" : [ "Active", "Inactive" ] }

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตอาร์เรย์ด้วยฟิลด์อื่น -

> db.demo283.update({}, {$push: {Status:{$each:['Regular', 'NotRegular'], '$slice': -4}}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo283.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e4ab97ddd099650a5401a75"), "Name" : "Chris", "Status" : [ "Active", "Inactive", "Regular", "NotRegular" ]