gpt4 book ai didi

java - 如何获取 Mongo 标准中两个日期值之间的差异?

转载 作者:行者123 更新时间:2023-12-01 11:53:36 24 4
gpt4 key购买 nike

如何获取 Mongo 标准中两个日期值之间的差异,并且返回值必须是两个日期的差异(即 10.01.2015 第一个日期,20.01.2015 是第二个日期)我需要值为 10 ?任何人都可以帮助我如何使用 spring 框架标准在 java 中得到这个?)

最佳答案

摘自这篇文章What's new in Spring Data MongoDB 1.4 M1 ,您可以使用 andExpression 来获取两个日期值之间的差异:

.andExpression("endDateTime - startDateTime").as("duration")

作为示例(未经测试):

import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;

TypedAggregation<Trip> agg = newAggregation(Trip.class,
match(Criteria.where("userId").is("54e5cead3ab5c1dd97422d86")),
project("endDateTime", "startDateTime")
.andExpression("endDateTime - startDateTime").as("duration")
);

AggregationResults<DBObject> result = mongoTemplate.aggregate(agg, DBObject.class);
List<DBObject> resultList = result.getMappedResults();

在 Mongo shell 中,您可以执行以下操作:

db.collection.aggregate( {$match:{ your-match } },
{ $group : {
_id : "$userId",
duration : { $subtract:["$endDateTime", "$startDateTime"]}},
} } );

关于java - 如何获取 Mongo 标准中两个日期值之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28606438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com