gpt4 book ai didi

java - 嵌套 Json 聚合

转载 作者:可可西里 更新时间:2023-11-01 10:41:07 26 4
gpt4 key购买 nike

早些时候我的 mongodb 文档如下所示

{
"_id" : ObjectId("5880f010706358aab7a290af"),
"user_id" : "2",
"timezone" : "5.5"
}

我下面的代码工作正常

 private void getData(String id, String name) throws Exception {
Aggregation aggregation = newAggregation(
match(Criteria.where("user_id").is(id)),
group("timezone").count().as("total"));

AggregationResults<MongoResultCount> groupResults = mongoTemplate.aggregate(aggregation, "user_log", MongoResultCount.class);
List<MongoResultCount> resultList = groupResults.getMappedResults();
}

private class MongoResultCount {
private String _id;
private long total;
}

由于要求,我的 mongo 文档现在如下所示

{
"_id" : ObjectId("5880f010706358aab7a290af"),
"user_id" : "2",
"meta_data" : {
"user_data" : {
"timezone" : "5.5",
}
}
}

我如何实现与先前实现的目标相同的目标。我搜索了解决方案,但尚未找到。

最佳答案

使用dot notation访问字段。

有点像

Aggregation aggregation = newAggregation(
match(Criteria.where("user_id").is(id)),
group("meta_data.user_data.timezone").count().as("total"));

关于java - 嵌套 Json 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453978/

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