MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como obtenho a negação de uma consulta mongoide?


Você precisa acessar o driver ruby ​​do MongoDB para fazer isso.

Se estou entendendo a pergunta corretamente, o comando exclude do Mongoid faz um AND quando você está procurando um OR entre as cláusulas $ne e não há método para isso.

Isto é o que você deseja no shell:
find({$or: [{flagged: {$ne: true}}, {saved: {$ne: true}}]})

Em ruby, essa consulta se parece com isso:
query = {"$or" => [{"flagged" => {"$ne" => true}}, {"saved" => {"$ne" => true}}]}

Se bem me lembro você pode dizer:

Model.collection.find(query) onde a consulta é o documento que defini acima e deve funcionar.