按索引从 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 次浏览

开启您的 职业生涯

完成课程后即可获得认证

开始学习
广告
© . All rights reserved.