我想转换这个mongodb请求的一部分:
{
"$group": {
"_id": {
"instrument_name": "$instrument_name",
"interval":{
"$minute":{
$add:[new Date("1970-01-01"), "$date"]
}
}
}
}
}
使用MongoTemplate(使用spring)中的aggregate方法。
"interval":{
"$minute":{
$add:[new Date("1970-01-01"), "$date"]
}
}
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(Criteria.where("instrument_name").in(instruments)),
Aggregation.group("instrumentName", ???)),
Aggregation.project().andExpression("instrumentName").as("instrument_name")
);
你能帮帮我吗?
谢谢
您可以尝试先在投影操作中使用SpEL和dexpression
投影interval字段,然后在group操作中按新字段分组:
// define epochDate here e.g DateTime epochDate = ...
Aggregation agg = newAggregation(
match(Criteria.where("instrument_name").in(instruments)),
project("instrument_name").and("date").plus(epochDate).as("interval"),
group(fields().and("instrument_name").and("interval")).count().as("count")
);
我目前正在使用SpringNetflixZuul库为一个新的微服务系统构建API网关。 到目前为止,我的网关包含和过滤器,用于拦截请求并执行所需的逻辑等。 我看到的一件事是,对特定微服务的REST调用需要调用包含非常复杂的JSON有效负载数据的APIendpoint(GET或POST)。 对于最终用户来说,向包含此JSON的微服务发送请求对用户不友好。 我有一个想法,即API网关充当中介,用户可以
我是Spring Boot和MongoDb的新手。尝试使用Mongo存储库和Spring Boot的一些示例。但在浏览了一些文档后发现,Mongo模板是一个更好的选择。无法使用Mongo模板示例获得正确的Spring Boot。 > 有人能帮我举个同样的例子吗? 在尝试Mongo模板时,我们是否需要创建用户定义的存储库界面并扩展存储库或CRUD存储库?
我正在查询具有嵌套对象的集合。域模型如下所示: 我正在使用如下所示的条件进行查询: 同时,我还在研究如何解决这个问题,因为我不能改变文档结构...
我的MongoDB数据库中的文档有两个主要属性——标头和有效负载。我的POJO将标头保存为带有键字符串和值字符串的地图。但是,由于我设置的地图限制,我的标头地图中有一个时间戳字段被QueryDSL读取为字符串。 如何使用QueryDSL比较保存为字符串的时间戳值(Long)? 我是否应该创建标头以将键类型字符串映射到值类型 Object?如果是这种情况,当返回的路径现在是简单路径而不是允许更复杂比