sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB Aggregration Framework y Java Driver haciendo que $ o condiciones funcionen

Verifique los documentos que probablemente usará $ o como operador de canalización, pero no existe tal operador:DOC

En su lugar, puede construir un operador $match que está dentro y puede contener una cláusula o

Algo como esto en shell:

db.collection.aggregate({$match:{$or:[{someKey:'someValue'},{someOtherKey:'someOtherValue'}]}})

Lo que tienes que cambiar es algo como esto en JAVA:

Cambia esto:

DBObject matchCriteria = new BasicDBObject("$or", or);

A esto:

DBObject orCriteria = new BasicDBObject("$or", or);
DBObject matchCriteria = new BasicDBObject("$match", orCriteria);