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

การจับคู่เกณฑ์หลายเงื่อนไขภายในอาร์เรย์ด้วย MongoDB

ใช้ $elemMatch ใน Aggregate Framework

สำหรับการจับคู่เกณฑ์หลายเงื่อนไขภายในอาร์เรย์ ให้ใช้ $elemMatch ร่วมกับ aggregate เริ่มต้นด้วยการสร้างคอลเลกชันพร้อมข้อมูลพนักงาน

> db.matchMultipleCriteriaDemo.insertOne({ "EmployeeDetails": [ { "EmployeeName": "Chris", "Salary": 45000, "Language": "Java" }, { "EmployeeName": "Robert", "Salary": 41000, "Language": "Python" } ] });

คำสั่งจับคู่เกณฑ์หลายเงื่อนไข (เช่น EmployeeName="Bob" และ Language="C"):

> db.matchMultipleCriteriaDemo.aggregate({ "$match": { "EmployeeDetails": { "$elemMatch": { "EmployeeName": "Bob", "Language": "C" } } } }).pretty();

ผลลัพธ์จะคืนค่าเอกสารทั้งหมดที่มีอิลิเมนต์ในอาร์เรย์ตรงกับเงื่อนไขทั้งหมด