有没有办法用聚合扫描集合直到特定记录

时间:2017-04-24 09:36:11

标签: mongodb mongodb-query aggregation-framework

我想获得所有记录之后记录>我将在我的汇总中计算的记录。

我假设我有这些记录:

{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd61"), "ids" : 2581571270, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:02.474Z") },
{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd62"), "ids" : 2581571270, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:12.474Z") },
{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd63"), "ids" : 2581571270, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:22.474Z") },
{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd64"), "ids" : 2581571271, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:12.474Z") },
{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd65"), "ids" : 2581571271, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:32.474Z") },
{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd65"), "ids" : 2581571272, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:42.474Z") },

我希望获得 之后(根据dt字段)最后记录ids: 2581571270的所有记录。

在我的例子中,我会得到:

{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd65"), "ids" : 2581571271, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:32.474Z") },
{ "_id" : ObjectId("58fdb4f6c2cb84c28812fd65"), "ids" : 2581571272, "idc" : 200353375, "dt" : ISODate("2017-04-24T08:19:42.474Z") },

我想最优化的方法是从{dt: -1}索引请求,直到我得到ids: 2581571270的记录。

有没有办法在mongodb聚合中执行这样的请求?

0 个答案:

没有答案