投影陣列以獲取來自 MongoDB 文件的第一個陣列元素


如果您想要陣列中的第一個元素,您可以將 $slice 與 $gte 一起使用。讓我們建立一個包含文件的集合 −

> db.demo640.insertOne({Name:"John","Scores":[80,90,75]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c2eb86c954c74be91e6e0")
}
> db.demo640.insertOne({Name:"Chris","Scores":[85,70,89]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c2ece6c954c74be91e6e1")
}

使用 find() 方法顯示集合中的所有文件 −

> db.demo640.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5e9c2eb86c954c74be91e6e0"), "Name" : "John", "Scores" : [ 80, 90, 75 ] }
{ "_id" : ObjectId("5e9c2ece6c954c74be91e6e1"), "Name" : "Chris", "Scores" : [ 85, 70, 89 ] }

以下是使用 $slice 投影陣列的查詢 −

> db.demo640.find({Scores:{$gte:85}},{ "Scores": {$slice : 1}});

這將產生以下輸出 −

{ "_id" : ObjectId("5e9c2eb86c954c74be91e6e0"), "Name" : "John", "Scores" : [ 80 ] }
{ "_id" : ObjectId("5e9c2ece6c954c74be91e6e1"), "Name" : "Chris", "Scores" : [ 85 ] }

更新於: 12-May-2020

595 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告