在 MongoDB 中按索引从结果数组中获取单个元素

mongodbdatabasebig data analytics更新于 2026/1/9 0:22:17

要获取单个元素,请使用聚合和 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" ] }

相关文章