MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB Aggregation Framework e Java Driver che fanno funzionare $ o condizioni

Controlla i documenti che probabilmente utilizzerai $ o come operatore di pipeline, ma non esiste un tale operatore:DOC

Invece puoi costruire un $match operatore che è all'interno può contenere una clausola or

Qualcosa del genere in shell:

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

Quello che devi cambiare è qualcosa del genere in JAVA:

Cambia questo:

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

A questo:

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