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

คำสั่ง MongoDB หาค่าซ้ำในอาร์เรย์

ใช้ $where และฟังก์ชัน filter

เพื่อหาเอกสารที่มีค่าเดิมซ้ำกันในอาร์เรย์ ให้ใช้ $where ร่วมกับฟังก์ชัน JavaScript filter() นับจำนวนครั้งที่ปรากฏ

> db.demo188.insertOne({ "ListOfData": [ { "Data": 100 }, { "Data": 200 }, { "Data": 100 } ] });

คำสั่งหาเอกสารที่ Data=100 ปรากฏมากกว่า 1 ครั้ง:

db.demo188.find({ "$where": function() { return this.ListOfData.filter(function(d) { return d.Data == 100; }).length > 1; } })

ผลลัพธ์คืนเฉพาะเอกสารแรกที่มี 100 ซ้ำ 2 ครั้ง