sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo obtengo la negación de una consulta mongoide?

Para hacer esto, debe desplegarse hasta el controlador Ruby de MongoDB.

Si entiendo la pregunta correctamente, el comando de exclusión de Mongoid hace un AND cuando está buscando un OR entre las cláusulas $ne y no hay ningún método para ello.

Esto es lo que querrías en el shell:

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

En ruby, esa consulta se ve así:

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

Si no recuerdo mal puedes decir:

Model.collection.find(query) donde la consulta es el documento que definí anteriormente, y debería funcionar.