訪問 MongoDB 集合中的陣列值以獲取特定文件


要訪問陣列值,請使用點(.)符號。讓我們使用文件建立一個集合 -

> db.demo326.insertOne({id:101,"ProductDetails":[{"ProductId":"Prod-101","ProductName":"Product-1"},
... {"ProductId":"Prod-102","ProductName":"Product-2"}
... ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516751f8647eb59e562074")
}
> db.demo326.insertOne({id:103,"ProductDetails":[{"ProductId":"Prod-104","ProductName":"Product-5"},
... {"ProductId":"Prod-105","ProductName":"Product-6"}
... ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516771f8647eb59e562075")
}

在集合中顯示所有文件,使用 find() 方法 -

> db.demo326.find();

這將產生以下輸出 -

{
   "_id" : ObjectId("5e516751f8647eb59e562074"), "id" : 101, "ProductDetails" : [
      { "ProductId" : "Prod-101", "ProductName" : "Product-1" },
      { "ProductId" : "Prod-102", "ProductName" : "Product-2" }
   ]
}
{
   "_id" : ObjectId("5e516771f8647eb59e562075"), "id" : 103, "ProductDetails" : [
      { "ProductId" : "Prod-104", "ProductName" : "Product-5" },
      { "ProductId" : "Prod-105", "ProductName" : "Product-6" }
   ]
}

以下是訪問 MongoDB 集合中陣列並獲取特定文件的查詢 -

> db.demo326.find({"ProductDetails.ProductId":"Prod-104"});

這將產生以下輸出 -

{
   "_id" : ObjectId("5e516771f8647eb59e562075"), "id" : 103, "ProductDetails" : [
      { "ProductId" : "Prod-104", "ProductName" : "Product-5" },
      { "ProductId" : "Prod-105", "ProductName" : "Product-6" }
   ] 
}

更新於:02-4-2020

193 次瀏覽

啟動你的職業

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.