【发布时间】:2021-03-17 04:17:07
【问题描述】:
我正在尝试从 mongodb 下载最新文档 - 如果文档在 mongoDB 中具有相同的时间戳。 有什么方法可以找到最新的文件吗?
所以在这个例子中,返回的文档应该是第一个和第二个。
/* 1 */
{
"_id" : ObjectId("5fbf852902fe571c41d07c9f"),
"insertionTime" : ISODate("2020-11-26T10:36:25.600Z")
}
/* 2 */
{
"_id" : ObjectId("5fbf852902fe571c41d07ca0"),
"insertionTime" : ISODate("2020-11-26T10:36:25.600Z")
}
/* 3 */
{
"_id" : ObjectId("5fbf852902fe571c41d07ca1"),
"insertionTime" : ISODate("2020-11-24T10:36:25.600Z")
}
/* 4 */
{
"_id" : ObjectId("5fbf854702fe571c41d07ca9"),
"insertionTime" : ISODate("2020-11-23T10:36:55.582Z")
}
我只能找到最新的文档,但只能找到极限。
private List<Bson> prepareFilter() {
Bson sortByTimeFilter = sort(Sorts.descending(INSERTION_TIME));
Bson latestFilter = limit(1);
return Arrays.asList(sortByTimeFilter, latestFilter);
}
在尝试聚合集合后,我收到了唯一的一份文档。当然,由于limit(1) 只有一个文件。如果它们具有相同的时间戳,有什么方法可以聚合 N 个最新文档?
提前致谢。 最好的问候
【问题讨论】:
-
这个答案对你有帮助吗?
-
@varman 很抱歉之前没有回答,我刚刚看到你的评论。不。它对我没有帮助,因为我无法使用 MongoTemplate :(.