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

วิธีลบค่าซ้ำในอาร์เรย์ MongoDB ด้วย $setUnion

ใช้ Aggregation Framework ร่วมกับตัวดำเนินการ $setUnion เพื่อลบค่าซ้ำในอาร์เรย์

ตัวอย่างการใช้งาน

สร้างคอลเลกชันพร้อมข้อมูลที่มีค่าซ้ำในอาร์เรย์ InstructorSubject:

แสดงเอกสารทั้งหมด:

{ "_id" : ObjectId("5cb9d96c895c4fd159f80807"), "InstructorName" : "Chris", "InstructorAge" : 34, "InstructorSubject" : [
    "Java", "C", "Java", "C++", "MongoDB", "MySQL", "MongoDB"
] }

ลบค่าซ้ำด้วย $setUnion

ผลลัพธ์ (ค่าถูกลบซ้ำและเรียงลำดับอัตโนมัติ):

หลักการ: $setUnion รับอาร์เรย์หลายตัวมารวมกันเป็นเซต (ไม่ซ้ำ) การรวมกับ [] (อาร์เรย์ว่าง) จะทำให้ได้ค่าไม่ซ้ำจากอาร์เรย์เดิม พร้อมเรียงลำดับอัตโนมัติ