เพื่อให้ได้ผลลัพธ์เช่นเดียวกับ AND ใน MongoDB ให้ใช้ตัวดำเนินการ $all ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["C","Java","MongoDB","MySQL"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cc73e7a8f9e6ff3eb0ce433")
}
> db.andQueryDemo.insertOne({"StudentName":"David Miller","FavouriteSubject":["C++","Java","MongoDB","SQL Server"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cc73ea48f9e6ff3eb0ce434")
}
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["Python","PL/SQL"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cc73ed38f9e6ff3eb0ce435")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.andQueryDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"),
"StudentName" : "Carol Taylor",
"FavouriteSubject" : [
"C",
"Java",
"MongoDB",
"MySQL"
]
}
{
"_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"),
"StudentName" : "David Miller",
"FavouriteSubject" : [
"C++",
"Java",
"MongoDB",
"SQL Server"
]
}
{
"_id" : ObjectId("5cc73ed38f9e6ff3eb0ce435"),
"StudentName" : "Carol Taylor",
"FavouriteSubject" : [
"Python",
"PL/SQL"
]
} ต่อไปนี้เป็นแบบสอบถามเพื่อทำแบบสอบถาม AND บนอาร์เรย์ใน MongoDB ด้วย $all ที่นี่ เรากำลังแสดงอาร์เรย์ที่มีทั้ง “Java” และ “MongoDB” เป็น FavouriteSubject –
> db.andQueryDemo.find({FavouriteSubject:{$all:["Java","MongoDB"]}}).pretty(); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"),
"StudentName" : "Carol Taylor",
"FavouriteSubject" : [
"C",
"Java",
"MongoDB",
"MySQL"
]
}
{
"_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"),
"StudentName" : "David Miller",
"FavouriteSubject" : [
"C++",
"Java",
"MongoDB",
"SQL Server"
]
}