2012-05-25 3 views
2

В MongoMapper я могу использовать следующий запрос для поиска элементов на основе регулярных выражений матча:Поиска полей, которые не соответствуют регулярному выражению в MongoMapper

Foo.where(:name => /Foo.*/) 

Как я могу искать предметы, которые их name поля делать не соответствует /Foo.*/?

ответ

5

Вы можете использовать $not

db.customers.find({ name : { $not : /acme.*corp/i } }); 
0

Если вы в Python (PyMongo), это не будет работать, вы получите запутанную ошибку о том, как следует использовать BSON регулярное выражение.

Однако, он будет принимать объекты регулярных выражений питона напрямую:

db['collection'].find({'name': {'$not': re.compile("^__TEST")}}) 
Смежные вопросы