ใช้ $and ร่วมกับ $in ใน find() เพื่อค้นหาเอกสารที่ตรงกับเงื่อนไข FirstName และ LastName หลายค่า
ตัวอย่างข้อมูลทดสอบ
> db.demo692.insertOne({FirstName: "Chris", "LastName": "Brown"});
{ "acknowledged": true, "insertedId": ObjectId("5ea585dca7e81adc6a0b396a") }
> db.demo692.insertOne({FirstName: "John", "LastName": "Brown"});
{ "acknowledged": true, "insertedId": ObjectId("5ea585e2a7e81adc6a0b396b") }
> db.demo692.insertOne({FirstName: "John", "LastName": "Smith"});
{ "acknowledged": true, "insertedId": ObjectId("5ea585e7a7e81adc6a0b396c") }
> db.demo692.insertOne({FirstName: "John", "LastName": "Doe"});
{ "acknowledged": true, "insertedId": ObjectId("5ea585efa7e81adc6a0b396d") }
> db.demo692.insertOne({FirstName: "Adam", "LastName": "Smith"});
{ "acknowledged": true, "insertedId": ObjectId("5ea585faa7e81adc6a0b396e") }
แสดงข้อมูลทั้งหมด
> db.demo692.find();
ผลลัพธ์
{
"_id": ObjectId("5ea585dca7e81adc6a0b396a"), "FirstName": "Chris", "LastName": "Brown"
}
{
"_id": ObjectId("5ea585e2a7e81adc6a0b396b"), "FirstName": "John", "LastName": "Brown"
}
{
"_id": ObjectId("5ea585e7a7e81adc6a0b396c"), "FirstName": "John", "LastName": "Smith"
}
{
"_id": ObjectId("5ea585efa7e81adc6a0b396d"), "FirstName": "John", "LastName": "Doe"
}
{
"_id": ObjectId("5ea585faa7e81adc6a0b396e"), "FirstName": "Adam", "LastName": "Smith"
}
ค้นหา FirstName เป็น Chris หรือ John และ LastName เป็น Brown หรือ Smith
> db.demo692.find({
$and: [
{ FirstName: { $in: ["Chris", "John"] } },
{ LastName: { $in: ["Brown", "Smith"] } }
]
});
ผลลัพธ (3 เอกสารตรงเงื่อนไข)
{
"_id": ObjectId("5ea585dca7e81adc6a0b396a"), "FirstName": "Chris", "LastName": "Brown"
}
{
"_id": ObjectId("5ea585e2a7e81adc6a0b396b"), "FirstName": "John", "LastName": "Brown"
}
{
"_id": ObjectId("5ea585e7a7e81adc6a0b396c"), "FirstName": "John", "LastName": "Smith"
}
คำอธิบาย:
$in: ["Chris", "John"]- FirstName ต้องเป็น Chris หรือ John$in: ["Brown", "Smith"]- LastName ต้องเป็น Brown หรือ Smith$and- ทั้งสองเงื่อนไขต้องเป็นจริงพร้อมกัน (AND logic)
ตัวเลือกอื่น: ใช้ $or สำหรับเงื่อนไขแบบ OR ระหว่างคู่ FirstName+LastName