我试图将聚合操作的结果映射到DTO。它没有正确地映射,并且没有错误或日志消息来指示什么/哪里出错。
db.barProperty.aggregate([
{
$match: { domainObjectId : "044f4c4c-d481-4461-ae2f-301c78ff5c91"}
},
{
$sort: {
priority: 1,
issuedAt: -1
}
},
{
$group: {
"_id": "$field",
"value": {"$last": "$value"},
"issuedAt": {"$last": "$issuedAt"}
}
}
], { allowDiskUse: true });
/* 1 */
{
"_id" : "field1",
"value" : "2021-04-05T12:15:00Z",
"issuedAt" : ISODate("2021-06-14T00:10:00.000Z")
}
/* 2 */
{
"_id" : "field2",
"value" : "value2",
"issuedAt" : ISODate("2021-06-14T00:10:00.000Z")
}
return reactiveMongoTemplate.aggregate(Aggregation.newAggregation(BarProperty.class,
Aggregation.match(Criteria.where("domainObjectId").is(domainObjectId)),
Aggregation.sort(Direction.DESC, PRIORITY)
.and(Direction.ASC, ISSUED_AT),
Aggregation.group("field")
.last(VALUE).as(VALUE)
.last(ISSUED_AT).as(ISSUED_AT)
).withOptions(AggregationOptions.builder().allowDiskUse(true).build()), ProjectionProperty.class)
// TODO why is no ProjectionProperty being returned
.doOnNext(c -> {
System.out.println("found projection property");
})
.collectList();
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProjectionProperty {
private String id;
private String value;
private OffsetDateTime issuedAt;
}
我已经试过_ID了;和字段作为id字段的替代品。
请您首先确定您的聚合是否有效,并返回一个文档,而不是试图映射到DTO。
现在不要使用doNext()。一步一步地接近它,找出它到底失败在哪里
Flux<Document> result = reactiveMongoTemplate.aggregate(agg, BarProperty.class, Document.class);
现在,问题是,当我以以下方式进行日志记录时: 尽管根记录器级别被设置为“错误”,但日志条目仍然存在于两个日志文件中。然而,当我去掉“it.pkg.testpkg.service”记录器(通过注释或删除它)时,条目停止进入根记录器。我不太清楚这是怎么回事。 目前,我已经找到了一个临时解决方案,方法是在“root_file_appender”中添加以下条目: 谢了。
我怀疑这可能是我包含的一个库,它正在扰乱我的日志。这有可能吗?librray可以改变我的日志显示方式吗?既然我有点迷路了,我该怎么调查呢?
互联网上有许多帖子建议如何从logback迁移到log4j2进行Spring引导日志记录。 参考这个sof post-Spring Boot日志与log4j2-我已经配置我的项目使用log4j2。然后我添加了一些基本的log4j2.xml和log4j2.properties文件来测试。 但是在这些更改之后,我的项目无法进行任何日志记录。有人能帮我找出毛病吗? 项目代码可在github-https:
我试图在一个基于spring的项目中创建记录器策略。 我面临的问题与滚动政策有关。已创建logfile.log并且工作正常,但未创建滚动文件rollingfile.log.%d{yyyy-MM-dd}.log。
我试图使用“使用父母处理程序”来防止日志(由类/类别定义)在多个文件中传播。也就是说,在几个不同的文件中显示相同的消息。例: 但是,有些消息会同时出现在这两者中。“a.b.c.d”消息出现在“a.b”中
mySampleApplicaton.gwt.xml mySampleApplication.java(入口点)