我的应用程序使用Spring数据MongoDB,我试图在嵌入式文档中按降序排序数据,这是不工作的。
请参考以下JSON文档
JSON-库存文件:
{
"_id" : ObjectId("57c6fd7099275c83e6a5b312"),
"from" : "China",
"stockDemandPerItem" : [
{
"item" : "apples",
"demand" : 150.0
},
{
"item" : "plums",
"demand" : 200.0
},
{
"item" : "pears",
"demand" : 250.0
},
{
"item" : "oranges",
"demand" : 100.0
}
]
}
Spring数据Mongodb聚合查询:
TypedAggregation<Stock> typedAggr =
newAggregation(Stock.class, unwind("stockDemandPerItem"),
project("stockDemandPerItem.item",
"stockDemandPerItem.demand"),
sort(Direction.DESC, "stockDemandPerItem.demand"),
limit(3));
AggregationResults<StockDemandPerItem> results = mongoTemplate.
aggregate(typedAggr, StockDemandPerItem.class);
List<StockDemandPerItem> list = results.getMappedResults();
for(StockDemandPerItem stockDemandPerItem : list) {
System.out.println(stockDemandPerItem.getItem() +
" :: " + stockDemandPerItem.getDemand());
}
电流输出:
苹果:150.0
李子:200.0
橙子:500.0
预期产量(按需求描述订单):
橙子:500.0
李子:200.0
苹果:150.0
你能帮我按降序得到预期的输出吗?
此外,我计划通过使用上述带限制(1)的查询来查找最大“需求”值
我们可以使用java中的集合排序来实现这一点。
编辑类StockDemandPerItem,如下所示:
public class StockDemandPerItem implements Comparable<StockDemandPerItem>{
//existing code goes here
@Override
public int compareTo(StockDemandPerItem compareStockDemand) {
//descending order
return compareStockDemand.getDemand().compareTo(this.getDemand());
}
}
在打印循环之前还要添加这行代码-
Collections.sort(list);
有人知道如何使用Spring-Data将下面的聚合函数转换成java代码吗?
有人能帮我把这个mongoDB聚合转换成Spring数据mongo吗? 我试图在每个邀请函文件中获得未提醒与会者的电子邮件列表。 让它在mongo shell中运行,但需要在Spring data mongo中运行。 我的shell查询 ) 正如你们所看到的,这是我提出的,它在管道的项目和团队运作中并没有像预期的那样发挥作用。下面给出了生成的查询。 聚合对象创建 它创建以下查询 聚合对象生成的查询
我使用Spring(引导)2.2.7与mongoDB 4.0运行在Debian Stretch(9.12)。我已经设置了3个集合,我试图通过聚合查找级联操作加入这些集合。 操作(节点类) 股票(组件类) 目录(产品类) 每个类都有一个将它们链接在一起的uuid字符串属性。 节点(传感器、接收器、基站等) 组件(带有序列号、条形码的交付产品…) 产品(市场人工制品) 在mongo shell中运行此
我在使用聚合框架从MongoDB读取文档时遇到了问题:我的结果中总是得到空ID。这只发生在具有复合ID的文档中。我尝试了各种版本的spring-data-mongob(1.10.12, 2.0.7),结果相同。 实体定义类 测试代码 输出 调试到以下方法MappingMongoConverter。read(final mongopersistenentity entity、final Docume
我将如何在Spring靴中使用? 我需要一个“yildiz”平均值。 我的收藏 avg_yildiz MongoDBConfig。Java语言 MongoDB配置类。如何添加mongoTemplate? 编辑 Java语言lang.IllegalArgumentException:不支持的实体com。应用领域八一!无法确定IsNewStrategy。 如何保存存储库?
我有一个mongo查询,用于展开四个对象数组,并根据匹配条件过滤数据。如何在Spring data mongodb中执行相同的操作 我使用过单次放卷,但找不到任何具有多次放卷和匹配操作的。