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

MongoDB: อัปเดตอาร์เรย์เพิ่มค่าใหม่ด้วย $push + $each + $slice


สร้างคอลเลกชันตัวอย่าง

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

แสดงข้อมูลก่อนอัปเดต

> db.demo283.find();

คิวรี Update: $push เพิ่มหลายค่า + $slice จำกัดขนาดอาร์เรย์ 4 ตัว

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

ผลลัพธ์: Status มี 4 ค่า (เก่า 2 + ใหม่ 2)

> db.demo283.find();
{ "_id": ObjectId("5e4ab97ddd099650a5401a75"), "Name": "Chris", "Status": [ "Active", "Inactive", "Regular", "NotRegular" ] }