ใช้ตัวดำเนินการ $in เพื่อค้นหาเอกสารที่ฟิลด์มีค่าตรงกับ ค่าใดค่าหนึ่ง ในอาร์เรย์ที่ระบุ รองรับทั้งสตริงและตัวเลข เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง (มีข้อมูลผสมระหว่างตัวเลขและสตริง):
> db.searchForStringOrNumberDemo.insertOne(
{
"_id": new ObjectId(),
"StudentName": "Larry",
"StudentDetails": {
"StudentMarks": {
"StudentMongoDBMarks": [44]
}
}
}
);
{ "acknowledged" : true, "insertedId" : ObjectId("5ce2407c36e8b255a5eee944") }
> db.searchForStringOrNumberDemo.insertOne(
{
"_id": new ObjectId(),
"StudentName": "Larry",
"StudentDetails": {
"StudentMarks": {
"StudentMongoDBMarks": ["44"]
}
}
}
);
{ "acknowledged" : true, "insertedId" : ObjectId("5ce240f036e8b255a5eee945") }
แสดงเอกสาร (อันแรก Marks เป็นตัวเลข 44, อันที่สองเป็นสตริง "44"):
> db.searchForStringOrNumberDemo.find().pretty();
คิวรี่ค้นหาทั้งตัวเลข 44 และสตริง "44" พร้อมกันด้วย $in:
> db.searchForStringOrNumberDemo.find({ "StudentDetails.StudentMarks.StudentMongoDBMarks": { "$in": ["44", 44] } });ประโยชน์: $in ช่วยให้ค้นหาได้หลายรูปแบบข้อมูลพร้อมกัน โดยไม่ต้องเขียนเงื่อนไข $or ยาวๆ