ใช้ find() โดยระบุค่าที่ต้องการตรงใน Array โดยตรง MongoDB จะ Match เอกสารที่ Array มีค่านั้นอยู่
ไวยากรณ์
db.yourCollectionName.find({"yourArrayFieldName": "yourValue"}).pretty();
สร้างข้อมูลตัวอย่าง
> db.findSpecificValue.insertOne({"StudentId":1,"StudentName":"Larry","FavouriteSubject":["C","C++","Java"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6e8996140577d89182b8d0") }
> db.findSpecificValue.insertOne({"StudentId":2,"StudentName":"Larry","FavouriteSubject":["MongoDB","MySQL","SQL Server"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c6e89b1140577d89182b8d1") }
แสดงเอกสารทั้งหมด
> db.findSpecificValue.find().pretty();
Query: หาเอกสารที่ FavouriteSubject มี "MongoDB"
> db.findSpecificValue.find({"FavouriteSubject": "MongoDB"}).pretty();
ผลลัพธ์ (เฉพาะ StudentId: 2)
{
"_id" : ObjectId("5c6e89b1140577d89182b8d1"),
"StudentId" : 2,
"StudentName" : "Larry",
"FavouriteSubject" : ["MongoDB", "MySQL", "SQL Server"]
}
MongoDB จับคู่ Array Field ได้โดยอัตโนมัติ: {"field": "value"} จะ Match เอกสารที่ Array field มี value อยู่