MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Spring Data MongoDB UND/ODER-Abfrage mit mehreren optionalen Parametern

Wenn Sie versuchen, Ihre Abfrage sorgfältig von Hand zu formatieren, um sie besser lesbar zu machen, werden Sie feststellen, dass Sie einige Fehler mit den schließenden Klammern gemacht haben.

Versuchen Sie stattdessen diese Abfrage:

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

Randnotiz:Ich denke, ein $and ausreichen, d. h. die oberste Ebene $and entfernen Betreiber.