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

Spring Data MongoDB AND/OR query con più parametri opzionali

Se provi a formattare a mano con cura la query per essere più leggibile, noterai che hai commesso alcuni errori con le parentesi di chiusura.

Prova invece questa query:

{ $and : 
    [{
       $and: 
        [
         {$or : [ { $where: '?0 == null' } , { a : ?0 }]}, 
         {$or : [ { $where: '?1 == null' } , { b : ?1 }]},
         {$or : [ { $where: '?2 == null' } , { c : ?2 }]}
        ]
    }]
}

Nota a margine:penso che uno $and sarà sufficiente, ovvero rimuovere il $and di livello superiore operatore.