MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête Spring Data MongoDB AND/OR avec plusieurs paramètres facultatifs

Si vous essayez soigneusement de formater manuellement votre requête pour qu'elle soit plus lisible, vous remarquerez que vous avez fait quelques erreurs avec les crochets fermants.

Essayez plutôt cette requête :

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

Remarque :je pense qu'un élément $and sera suffisant, c'est-à-dire supprimer le niveau supérieur $and opérateur.