在 MongoDB 中找到包含某個特定值的陣列的文件


你可以使用 find() 方法查詢包含特定值的陣列的文件。語法如下

db.yourCollectionName.find({"yourArrayFieldName":"yourValue"},.......N).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")
}

在 find() 方法的幫助下,顯示集合中的所有文件。查詢如下

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

以下是輸出

{
   "_id" : ObjectId("5c6e8996140577d89182b8d0"),
   "StudentId" : 1,
   "StudentName" : "Larry",
   "FavouriteSubject" : [
      "C",
      "C++",
      "Java"
   ]
}
{
   "_id" : ObjectId("5c6e89b1140577d89182b8d1"),
   "StudentId" : 2,
   "StudentName" : "Larry",
   "FavouriteSubject" : [
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}

這是一個查詢,其中查詢包含特定值(這裡是 FavouriteSubject 中的“MongoDB”)的陣列的文件

> db.findSpecificValue.find({"FavouriteSubject":"MongoDB"}).pretty();

以下是輸出

{
   "_id" : ObjectId("5c6e89b1140577d89182b8d1"),
   "StudentId" : 2,
   "StudentName" : "Larry",
   "FavouriteSubject" : [
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}

更新於: 2019 年 7 月 30 日

749 次瀏覽

開啟你的 職業生涯

完成該課程即可獲得認證

開始
廣告
© . All rights reserved.