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

วิธีลบสตริงออกจากอาร์เรย์ในเอกสาร MongoDB

ใช้ตัวดำเนินการ $pull เพื่อลบค่าเฉพาะ (เช่นสตริง) ออกจากอาร์เรย์ เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:

> db.removeAStringDemo.insertOne({"Score":[45,67,89,"John",98,99,67]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5224b50a6c6dd317adbd") }

แสดงเอกสาร (อาร์เรย์ Score มีทั้งตัวเลขและสตริง "John"):

> db.removeAStringDemo.find().pretty();
{ "_id" : ObjectId("5cda5224b50a6c6dd317adbd"), "Score" : [ 45, 67, 89, "John", 98, 99, 67 ] }

คิวรี่ลบสตริง "John" ออกจากอาร์เรย์ Score:

> db.removeAStringDemo.update(
  { _id : ObjectId("5cda5224b50a6c6dd317adbd") },
  { $pull: { "Score":"John" }}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ตรวจสอบเอกสารอีกครั้ง:

> db.removeAStringDemo.find().pretty();
{ "_id" : ObjectId("5cda5224b50a6c6dd317adbd"), "Score" : [ 45, 67, 89, 98, 99, 67 ] }

สังเกต: ค่า "John" ถูกลบออกไปแล้ว ในขณะที่ตัวเลขคงอยู่ $pull จะลบ ทุกค่า ที่ตรงกับเงื่อนไขในอาร์เรย์