Java &引用;命令失败,错误为168(InvalidPipelineOperator):&x27;无法识别的表达式'$匹配';
破例 命令失败,错误为168(InvalidPipelineOperator):“无法识别的表达式”$match 我的语法有什么问题Java &引用;命令失败,错误为168(InvalidPipelineOperator):&x27;无法识别的表达式'$匹配';,java,mongodb,spring-boot,Java,Mongodb,Spring Boot,破例 命令失败,错误为168(InvalidPipelineOperator):“无法识别的表达式”$match 我的语法有什么问题 String searchString = new String(sourceSystem); AggregateIterable<Document> aggregateIterable = users.aggregate(Arrays.asList(new Document("$project", new Documen
String searchString = new String(sourceSystem);
AggregateIterable<Document> aggregateIterable = users.aggregate(Arrays.asList(new Document("$project", new Document("Email Systems", new Document("$match", new Document("Email Systems.Bob", searchString))))));
Iterator iterator = aggregateIterable.iterator();
ArrayList<Document> documents = new ArrayList();
while (iterator.hasNext()) {
documents.add((Document) iterator.next());
}
String searchString=新字符串(sourceSystem);
AggregateIterable AggregateIterable=users.aggregate(Arrays.asList(新文档(“$project”),新文档(“电子邮件系统”,新文档(“$match”,新文档(“Email Systems.Bob”,searchString‘‘‘)’);
迭代器迭代器=AggregateIterator.Iterator();
ArrayList documents=新的ArrayList();
while(iterator.hasNext()){
add((Document)iterator.next());
}
问题是您在项目中有匹配
它应该是阶段的数组列表
。第一个元素应该是match
或project
Document matchDoc = new Document(\*matching condition*/);
Document projectDoc = new Document(/*project doc*/);
传递这两个数组列表。感谢您的建议。按照建议进行更新。但没有给出正确的结果文档matchDoc=新文档(“Email Systems.Bob”,searchString);Document projectDoc=新文档(“$Email Systems”,“Email Systems”);AggregateIterable AggregateIterable=users.aggregate(Arrays.asList(新文档(“$elemmatch”,matchDoc));和迭代器逻辑。它应该只给出匹配的结果,并且需要与请求参数系统进行比较,但是它同时给出两个结果[Document{{Bob=Document{{System=Bob,result=true}}}},Document{{Wild=Document{{System=Wild,result=true}}],它没有给出匹配的值,而是打印所有的值,比如下面的结果[Document{Bob=Document}{{System=Bob,result=true}},Document{{Wild=Document{{{System=Wild,result=true}}]。我需要与输入请求参数进行比较。如果{System=bob,需要获取bob System的结果值,或者如果它是wild,我应该获取wild的结果。你能帮助我使用java synatxI吗?感觉这是一个单独的问题。请发布一个带有示例数据和试用部分的问题。任何人都可以从这个论坛获得帮助。