ค้นหาเอกสารที่มีค่าในอาร์เรย์
MongoDB รองรับการคิวรี่เข้าไปในอาร์เรย์โดยตรง เพียงระบุชื่อฟิลด์อาร์เรย์และค่าที่ต้องการ
ไวยากรณ์
db.yourCollectionName.find({yourArrayFieldName: "yourValue"}).pretty();
ตัวอย่าง
สร้างคอลเลกชัน queryArrayElementsDemo ที่มีฟิลด์ StudentFavouriteSubject เป็นอาร์เรย์:
> db.queryArrayElementsDemo.insertOne({"StudentName":"John","StudentFavouriteSubject":["C","Java"]});
> db.queryArrayElementsDemo.insertOne({"StudentName":"Carol","StudentFavouriteSubject":["C","C++"]});
> db.queryArrayElementsDemo.insertOne({"StudentName":"David","StudentFavouriteSubject":["MongoDB","Java"]});
ค้นหานักเรียนที่ชอบวิชา "Java"
> db.queryArrayElementsDemo.find({StudentFavouriteSubject:"Java"}).pretty();
ผลลัพธ์:
{ "_id" : ObjectId("..."), "StudentName" : "John", "StudentFavouriteSubject" : [ "C", "Java" ] }
{ "_id" : ObjectId("..."), "StudentName" : "David", "StudentFavouriteSubject" : [ "MongoDB", "Java" ] }
คำสั่งจะคืนเอกสารทั้งหมดที่อาร์เรย์ StudentFavouriteSubject มีค่า "Java" อยู่ภายใน