Überprüfen Sie die Dokumentation, in der Sie wahrscheinlich $or als Pipeline-Operator verwenden, aber es gibt keinen solchen Operator:DOC
Stattdessen können Sie einen $match-Operator konstruieren, der eine or-Klausel enthalten kann
So etwas in der Shell:
db.collection.aggregate({$match:{$or:[{someKey:'someValue'},{someOtherKey:'someOtherValue'}]}})
Was Sie ändern müssen, ist in JAVA etwa so:
Ändern Sie dies:
DBObject matchCriteria = new BasicDBObject("$or", or);
Dazu:
DBObject orCriteria = new BasicDBObject("$or", or);
DBObject matchCriteria = new BasicDBObject("$match", orCriteria);