sql >> Database teknologi >  >> NoSQL >> MongoDB

Angiv flere kriterier i spring mongo db-forespørgsel

Du kan refaktorisere din kode for at skabe $or udtryk. Ingen eksplicit $and operatør nødvendig.

Noget som

 Query orQuery = new Query();
 Criteria orCriteria = new Criteria();
 List<Criteria> orExpression =  new ArrayList<>();
 for (Map<String, Object> accounts : attributes) {
   Criteria expression = new Criteria();
   accounts.forEach((key, value) -> expression.and(key).is(value));
   orExpression.add(expression);
 }
 orQuery.addCriteria(orCriteria.orOperator(orExpression.toArray(new Criteria[orExpression.size()])));
 List<User> userList = mongoOperations.find(orQuery, User.class);
 

Dette skal udsende forespørgsel som

{ "$or" : [{ "key1" : "value1", "key2" : "value2" }, { "key3" : "value3", "key4" : "value4" }] }

  1. MongoError:Kan ikke udtrække geonøgler fra objekt med Type :Point

  2. Mongoose-befolker række af underdokumenter

  3. Brug af MongoDB .findOne() funktion med indlejret dokumentværdi

  4. MongoDb Distinct med forespørgsel C# driver