按索引從 MongoDB 結果陣列中獲取單個元素


要獲取單個元素,請使用聚合和 LIMIT。skip() 用於跳過指定數量的文件。

我們首先使用文件建立一個集合 -

> db.demo391.insertOne(
...    { "_id" : 101, "Name" : "Chris", Values: ["101", "102"] }
... )
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo391.insertOne(
...    { "_id" : 111, "Name" : "Chris", Values: ["101", "102"] }
... )
{ "acknowledged" : true, "insertedId" : 111 }
> db.demo391.insertOne(
...    { "_id" : 121, "Name" : "Chris", Values: ["101", "102"] }
... )
{ "acknowledged" : true, "insertedId" : 121 }

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

> db.demo391.find();

這將產生以下輸出 -

{ "_id" : 101, "Name" : "Chris", "Values" : [ "101", "102" ] }
{ "_id" : 111, "Name" : "Chris", "Values" : [ "101", "102" ] }
{ "_id" : 121, "Name" : "Chris", "Values" : [ "101", "102" ] }

以下是按索引從結果陣列中獲取單個元素的查詢 -

> var i=2;
> db.demo391.aggregate([
...    { $match : {"Name": "Chris"}},
...    { $skip : i-1},
...    { $limit : 1 }
... ]);

這將產生以下輸出 -

{ "_id" : 111, "Name" : "Chris", "Values" : [ "101", "102" ] }

更新於: 02-Apr-2020

494 次瀏覽

開啟您的 職業生涯

完成課程後即可獲得認證

開始學習
廣告