投影数组以从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 ] }

以下是使用sing $slice查询数组投影的方法-

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

这将产生以下输出-

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

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

以上是 投影数组以从MongoDB文档中获取第一个数组元素 的全部内容, 来源链接: utcz.com/z/356098.html

回到顶部