MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Określ wiele kryteriów w wiosennym zapytaniu mongo db

Możesz dokonać refaktoryzacji kodu, aby utworzyć $or wyrażenia. Brak wyraźnych $and potrzebny operator.

Coś jak

 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);

Powinno to wywołać zapytanie, takie jak

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak migrować dane w MongoDB

  2. Mongoid te same typy dokumentów osadzonych dla różnych pól

  3. Dodaj nowy atrybut do istniejącego obiektu json w node.js

  4. Samouczek PyMongo:Testowanie przełączania awaryjnego MongoDB w Twojej aplikacji w Pythonie

  5. Testowanie i dekrementacja w operacji atomowej?