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

Wie bekomme ich die Negation einer mongoiden Abfrage?

Dazu müssen Sie zum MongoDB-Ruby-Treiber wechseln.

Wenn ich die Frage richtig verstehe, führt der Ausschlussbefehl von Mongoid ein UND aus, wenn Sie nach einem ODER zwischen den $ne-Klauseln suchen, und es gibt keine Methode dafür.

Das möchten Sie in der Shell:

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

In Ruby sieht diese Abfrage so aus:

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

Wenn ich mich richtig erinnere, kann man sagen:

Model.collection.find(query) wobei die Abfrage das Dokument ist, das ich oben definiert habe, und es sollte funktionieren.