Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

คุณดำเนินการค้นหา AND บนอาร์เรย์ใน MongoDB อย่างไร


เพื่อให้ได้ผลลัพธ์เช่นเดียวกับ 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"
   ]
}