给定一个简单的文档,例如:
{
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/