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

Comment obtenir la négation d'une requête mongoid ?

Pour ce faire, vous devez vous rendre sur le pilote ruby ​​MongoDB.

Si je comprends bien la question, la commande d'exclusion de Mongoid effectue un ET lorsque vous recherchez un OU entre les clauses $ne et qu'il n'y a pas de méthode pour cela.

Voici ce que vous voudriez dans le shell :

find({$or: [{flagged: {$ne: true}}, {saved: {$ne: true}}]})

En ruby, cette requête ressemble à ceci :

query = {"$or" => [{"flagged" => {"$ne" => true}}, {"saved" => {"$ne" => true}}]}

Si je me souviens bien, vous pouvez dire :

Model.collection.find(query) où la requête est le document que j'ai défini ci-dessus, et cela devrait fonctionner.