Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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 Spring mongo和运算符在同一字段上_Java_Spring_Mongodb - Fatal编程技术网

Java Spring mongo和运算符在同一字段上

Java Spring mongo和运算符在同一字段上,java,spring,mongodb,Java,Spring,Mongodb,我正在尝试使用数组值创建和运算符查询。我的代码是 String[]={"abc","pqr",xyz}; Criteria criteria = new Criteria(); for (int i = 0; i < splited.length; i++) { criteria.andOperator(Criteria.where("attribute").regex("^" + splited[i], "i")); } Query query=new Query

我正在尝试使用数组值创建和运算符查询。我的代码是

String[]={"abc","pqr",xyz};

Criteria criteria = new Criteria();       
for (int i = 0; i < splited.length; i++) {
    criteria.andOperator(Criteria.where("attribute").regex("^" + splited[i], "i"));
}
Query query=new Query(criteria);
String[]={“abc”,“pqr”,xyz};
标准=新标准();
对于(int i=0;i

但是它给了我一个异常,比如
,由于com.mongodb.basicdboObject的限制,您不能添加第二个属性

为什么要用
$和
拆分这些文件?您可以在正则表达式中执行此操作:

db.collection.find({ 
    "attribute": {"$regex": "^abc|^pqr|^xyz", "$options": "i" }
})
更不用说,这实际上看起来像是正则表达式所做的
$或
条件,您必须真正想要它,因为一个字符串不可能从字符串开始就匹配所有这些内容,您只能有一个

这应该很容易转化为springdata mongo方法。

String[]={“abc”,“pqr”,xyz};
String[]={"abc","pqr",xyz};

Query query = new Query();

Criteria criteria;

for (int i = 0; i < splited.length; i++) {
  criteria = Criteria.where("attribute").regex("^" + splited[i], "i");
  query.addCriteria(criteria);
}
查询=新查询(); 标准; 对于(int i=0;i