mongodb - 在 MongoDB 中获取数组的第一个和最后一个元素

标签 mongodb

Mongo DB:我正在寻找一个查询来返回数组的第一个和最后一个元素。我意识到我可以执行多个查询,但我真的很想用一个查询来完成。

假设一个集合“test”,其中每个对象都有一个数字数组“arr”:

 db.test.find({},{arr:{$slice: -1},arr:{$slice: 1}});

这将导致以下结果:

 { "_id" : ObjectId("xxx"), "arr" : [ 1 ] }    <-- 1 is the first element

有没有办法对结果进行别名处理?类似于 mysql AS 关键字在查询中允许的内容?

最佳答案

目前这是不可能的,但如果我正确理解您的功能需求,那么现在正在开发的聚合框架将可以实现。

如果您一开始就有这个要求,您就必须考虑一下您的模式。您确定没有更优雅的方法可以通过相应地更改您的架构来实现这一点吗?

关于mongodb - 在 MongoDB 中获取数组的第一个和最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10168224/

相关文章:

mongodb - 更新数组中的项

node.js - 排除mongodb子文档数组中的字段

python - 插入 Mongo 时如何处理 json 中的长整型?

spring - 通过多个id获取文档

java - 如何在windows中使用cmd启动程序

node.js - 从 puppeteer 截图中保存图像数据的推荐方法是什么?

json - 在 NodeJS 中将多个文件中的 JSON 对象插入到 MongoDB 的最有效方法

mongodb - 扩展架构时的Cors和数据库uri问题

javascript - 如何使用 sails.js 将数据存储为 mongodb 中的数字类型

javascript - 寻找 Mongoose "hello world"示例