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

标签 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

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

最佳答案

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

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

关于MongoDB:无法规范化查询:BadValue $not 需要正则表达式或文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23821979/

相关文章:

node.js - mongodb 中 $nin 的非严格行为

mongodb - 如何让 GraphQL 在突变时自动插入当前 UTC?

mongodb - mongoose node.js,使用 $lt 和 $gt 查询不工作

mongodb - ( react 性)Mongo 测试失败,返回 : unrecognised field 'snapshot'

mongodb - 获取聚合中嵌套数组的总和

python - 克隆文档 mongoengine

java - 删除 map 的所有键都包含在mongodb列表中的位置

mongodb - 如何使用 React 和 axios 更新 MongoDB 中文档的对象?

javascript - 无需模板即可访问 Meteor 中的 mongodb 集合

java - 如何在连接到 Mongo 存储库的 Java/Spring Controller 上抛出异常?