Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧数据+;MongoDB无效引用错误_Java_Spring_Mongodb_Spring Data - Fatal编程技术网

Java 弹簧数据+;MongoDB无效引用错误

Java 弹簧数据+;MongoDB无效引用错误,java,spring,mongodb,spring-data,Java,Spring,Mongodb,Spring Data,以下是我的代码(Spring数据): 在不分组的情况下执行聚合: Aggregation aggregation = Aggregation.newAggregation(matchOperation,addFields, sortOperation,limitOperation,projectionOperation); 没有错误,所以我假设分组有问题。知道我做错了什么吗?我还想做的是过滤嵌入元素的列表,计算这些元素的一个属性的和,并根据它进行排序。也许有类似的方法可

以下是我的代码(Spring数据):

在不分组的情况下执行聚合:

Aggregation aggregation = Aggregation.newAggregation(matchOperation,addFields,
            sortOperation,limitOperation,projectionOperation);
没有错误,所以我假设分组有问题。知道我做错了什么吗?我还想做的是过滤嵌入元素的列表,计算这些元素的一个属性的和,并根据它进行排序。也许有类似的方法可以做到这一点

编辑 这是我的文件:

@Document
public class PickupUser {
    @Id
    private String id;
    private String discordId;
    private List<UserModeStats> stats;
    private String name;
}
我要创建的输出文档:

@Data
public class UserSummaryChannel {
    public UserSummaryChannel() {}

    private String id;
    private String discordId;
    private List<UserModeStats> stats;
    //private Long allGamesOnChannel;
}
@数据
公共类UserSummaryChannel{
public UserSummaryChannel(){}
私有字符串id;
私有字符串不协调;
私人名单统计;
//私人长频道;
}

我不想包括
UserSummaryChannel
allGamesOnChannel
属性(无论是否使用该字段,聚合都不起作用)。

这不是真正的解决方案,但找到了实现我目标的另一种方法。我自己“实施”了排序操作,因此:

SortOperation sortOperation = Aggregation.sort(new Sort(Sort.Direction.DESC, "allGamesOnChannel"));
现在我有这个:

AggregationOperation sortOperation2 = (AggregationOperationContext aggregationOperationContext) -> {
            DBObject dbObject =
                    new BasicDBObject("allGamesOnChannel", 1);
            return new BasicDBObject("$sort", dbObject);
        };

Rest聚合操作保持不变。没有抛出异常

您的mongo文档看起来如何更新的问题和包含的文档。
@Data
public class UserSummaryChannel {
    public UserSummaryChannel() {}

    private String id;
    private String discordId;
    private List<UserModeStats> stats;
    //private Long allGamesOnChannel;
}
SortOperation sortOperation = Aggregation.sort(new Sort(Sort.Direction.DESC, "allGamesOnChannel"));
AggregationOperation sortOperation2 = (AggregationOperationContext aggregationOperationContext) -> {
            DBObject dbObject =
                    new BasicDBObject("allGamesOnChannel", 1);
            return new BasicDBObject("$sort", dbObject);
        };