Vérifiez les documents que vous utiliserez probablement $ ou en tant qu'opérateur de pipeline, mais il n'y a pas un tel opérateur :DOC
Au lieu de cela, vous pouvez construire un opérateur $match qui est à l'intérieur peut contenir une clause or
Quelque chose comme ça dans le shell :
db.collection.aggregate({$match:{$or:[{someKey:'someValue'},{someOtherKey:'someOtherValue'}]}})
Ce que vous devez changer ressemble à ceci en JAVA :
Modifiez ceci :
DBObject matchCriteria = new BasicDBObject("$or", or);
À ceci :
DBObject orCriteria = new BasicDBObject("$or", or);
DBObject matchCriteria = new BasicDBObject("$match", orCriteria);