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

Dio*_*lor 10 mongodb

我的一些文档包含一个以status值命名的字段404.我不希望返回这些文件,所以我使用$not运算符:

query = {
    "venue_id": venue_id,
    "status": {
         "$not": 404
    } 
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

OperationFailure: database error: Can't canonicalize query: BadValue
$not needs a regex or a document
Run Code Online (Sandbox Code Playgroud)

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

Dio*_*lor 24

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

query = {
    "venue_id": venue_id,
    "status": {
         "$ne": 404
    } 
}
Run Code Online (Sandbox Code Playgroud)