javascript - MongoDB - 如何在 $slice 投影中使用字段值?

标签 javascript python mongodb mongodb-query pymongo

给定一个简单的文档,例如:

{
    myArray : [12, 10, 40, -1, -1, ..., -1],  //'-1' is a int placeholder
    latestUpdatedIndex : 2
}

我知道要在 myArray 中放入多少个值,因此我使用 -1 值预先分配空间,以使更新更加高效。我跟踪在 latestUpdatedIndex

中更新的最新值

我可以在如下所示的 $slice 投影中使用 latestUpdatedIndex 的值吗?

coll.find({}, {'myArray':{'$slice':[0, <value of latestUpdatedIndex>]}

最佳答案

您无法使用普通查询来做到这一点,但您可以使用 aggregation 来做到这一点(在 MongoDB 3.2 中):

db.collection.aggregate([
   { $project: { mySlicedArray: { $slice: [ "$myArray", "$latestUpdatedIndex" ] } } }
])

关于javascript - MongoDB - 如何在 $slice 投影中使用字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40978940/

相关文章:

javascript - 在窗口大小调整时重新加载 JS 文件

angularjs - angularjs可以直接连接mongodb吗?

c# - 如何使用 C# MongoDB.Driver 更新深层嵌套数组?

MongoDb 管道聚合排序子子文件

javascript - jQuery 重置 setInterval 定时器

javascript - 如何在 FabricJS 中编写用于边缘检测的卷积滤波器

python - 如何使用python从命令行读取excel文件?

python - 在 Pandas 表中插入链接

python - 如何遍历这个字典

javascript - BXSlider 在切换幻灯片时暂停 Youtube 视频