gpt4 book ai didi

java - 命令失败,错误 16410 : 'FieldPath field names may not start with ' $'.'

转载 作者:可可西里 更新时间:2023-11-01 09:48:44 33 4
gpt4 key购买 nike

我曾尝试在互联网上搜索有关此错误的信息,但无济于事。我正在尝试使用 Java 在 mongodb 中使用 aggregate 函数。 RetailerZip 是我要对结果进行分组的字段。

groupFields = new BasicDBObject("_id", 0); 
groupFields.put("count",new BasicDBObject("$sum",1));
groupFields.put("_id", "$RetailerZip");
group = new BasicDBObject("$group", groupFields);
sort = new BasicDBObject();
projectFields = new BasicDBObject("_id", 0);

projectFields.put("value", "$_id");
projectFields.put("ReviewValue","$count");
project = new BasicDBObject("$project", projectFields);
sort.put("ReviewValue",-1);
orderby=new BasicDBObject("$sort",sort);
limit=new BasicDBObject("$limit",5);

List<DBObject> pipeline = Arrays.asList(group, project, orderby, limit); //error occurs on this line.
AggregationOutput output = mongo.myReviews.aggregate(pipeline);

安装的 MongoDB 版本是:3.2.11

最佳答案

你在你的 $group 阶段放了两次“_id”。尝试替换这个

groupFields = new BasicDBObject("_id", 0); 
groupFields.put("count",new BasicDBObject("$sum",1));
groupFields.put("_id", "$RetailerZip");

groupFields = new BasicDBObject("_id", "$RetailerZip"); 
groupFields.put("count",new BasicDBObject("$sum",1));

关于java - 命令失败,错误 16410 : 'FieldPath field names may not start with ' $'.' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40826185/

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