เมื่อต้องการค้นหาเอกสารเฉพาะที่มีค่าตรงกับรายการในอาร์เรย์ ให้ใช้โอเปอเรเตอร์ $in ของ MongoDB มาสร้างคอลเลกชันตัวอย่างกันก่อน
> db.demo511.insertOne({"ListOfProject":["Library Management System","Hospital Management System"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88473a987b6e0e9d18f585") }
> db.demo511.insertOne({"ListOfProject":["Online Web Tracking","Library Management System"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e884751987b6e0e9d18f586") }
> db.demo511.insertOne({"ListOfProject":["Online Shopping Cart","Hospital Management System"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e884776987b6e0e9d18f587") }
แสดงเอกสารทั้งหมดด้วย find():
> db.demo511.find();
ผลลัพธ์:
{ "_id" : ObjectId("5e88473a987b6e0e9d18f585"), "ListOfProject" : [ "Library Management System", "Hospital Management System" ] }
{ "_id" : ObjectId("5e884751987b6e0e9d18f586"), "ListOfProject" : [ "Online Web Tracking", "Library Management System" ] }
{ "_id" : ObjectId("5e884776987b6e0e9d18f587"), "ListOfProject" : [ "Online Shopping Cart", "Hospital Management System" ] }
คิวรีค้นหาเอกสารที่ตรงกับเงื่อนไข
> db.demo511.find({ "ListOfProject":{$in:["Hospital Management System","Online Shopping Cart"]}});
ผลลัพธ์ - พบ 2 เอกสารที่มีโปรเจ็กต์ตรงกับเงื่อนไข:
การทำงานของ $in
โอเปอเรเตอร์
$inจะคืนค่าเอกสารที่ฟิลด์ระบุมีค่า อย่างน้อยหนึ่งค่า ตรงกับค่าในอาร์เรย์ที่กำหนด เหมาะสำหรับการค้นหาแบบ "OR" หลายค่าในฟิลด์อาร์เรย์