使用 $in 查詢多個數組項的 MongoDB?


您可以使用 $in 運算子來查詢多個數組項。要理解此概念,我們建立一個帶有文件的集合。

建立帶有文件的集合的查詢如下 -

>db.findByMultipleArrayDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Smith",
   "StudentCoreSubject":["Compiler","Operating System","Computer Networks"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7ef07b559dd2396bcfbfc4")
}
>db.findByMultipleArrayDemo.insertOne({"StudentFirstName":"Carol","StudentLastName":"Taylor",
   "StudentCoreSubject":["MongoDB","MySQL","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7ef09d559dd2396bcfbfc5")
}
>db.findByMultipleArrayDemo.insertOne({"StudentFirstName":"Bob","StudentLastName":"Taylor",
   "StudentCoreSubject":["MongoDB","MySQL","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7ef0c7559dd2396bcfbfc6")
}
>db.findByMultipleArrayDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Johnson",
   "StudentCoreSubject":["Compiler","Operating System","Computer Networks"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7ef0f2559dd2396bcfbfc7")
}

在集合中,使用 find() 方法顯示所有文件。查詢如下 -

> db.findByMultipleArrayDemo.find().pretty();

以下是輸出 -

{
   "_id" : ObjectId("5c7ef07b559dd2396bcfbfc4"),
   "StudentFirstName" : "John",
   "StudentLastName" : "Smith",
   "StudentCoreSubject" : [
      "Compiler",
      "Operating System",
      "Computer Networks"
   ]
}
{
   "_id" : ObjectId("5c7ef09d559dd2396bcfbfc5"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Taylor",
   "StudentCoreSubject" : [
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}
{
   "_id" : ObjectId("5c7ef0c7559dd2396bcfbfc6"),
   "StudentFirstName" : "Bob",
   "StudentLastName" : "Taylor",
   "StudentCoreSubject" : [
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}
{
   "_id" : ObjectId("5c7ef0f2559dd2396bcfbfc7"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Johnson",
   "StudentCoreSubject" : [
      "Compiler",
      "Operating System",
      "Computer Networks"
   ]
}

使用 $in 運算子來查詢多個數組項 -

> db.findByMultipleArrayDemo.find({ StudentCoreSubject: { $in: ["Compiler", "Computer Networks"] }}).pretty();

以下是輸出 -

{
   "_id" : ObjectId("5c7ef07b559dd2396bcfbfc4"),
   "StudentFirstName" : "John",
   "StudentLastName" : "Smith",
   "StudentCoreSubject" : [
      "Compiler",
      "Operating System",
      "Computer Networks"
   ]
}
{
   "_id" : ObjectId("5c7ef0f2559dd2396bcfbfc7"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Johnson",
   "StudentCoreSubject" : [
      "Compiler",
      "Operating System",
      "Computer Networks"
   ]
}

更新於:30-7-2019

121 瀏覽

啟動 職業

完成課程以獲得認證

入門
廣告
© . All rights reserved.