MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB Aggregation Framework e Java Driver fazendo $ ou condtion funcionar


Verifique os documentos que você provavelmente usará $or como operador de pipeline, mas não existe esse operador:DOC

Em vez disso, você pode construir um operador $ match que está dentro e pode conter uma cláusula ou

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

O que você tem que mudar é algo assim em JAVA:

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

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