MongoDB:不能规范化查询:BadValue $不需要正则表达式或文档

时间:2014-05-23 06:00:56

标签: mongodb

我的某些文档包含名为status的字段,其值为404。 我不希望返回这些文件,因此我使用$not运算符:

query = {
    "venue_id": venue_id,
    "status": {
         "$not": 404
    } 
}

但是我收到错误:

OperationFailure: database error: Can't canonicalize query: BadValue
$not needs a regex or a document

是否会发生这种情况,因为某些的文档具有该字段?我不希望出于速度原因使用正则表达式。如何正确有效地进行此查询?

1 个答案:

答案 0 :(得分:23)

我想我找到了它。它需要$ne

query = {
    "venue_id": venue_id,
    "status": {
         "$ne": 404
    } 
}