mongodb - 为什么我的MongoDB $ or查询不起作用?

标签 mongodb

我正在尝试执行“$ or”搜索以匹配两个正则表达式,如下所示:

{
    "metadata.text": {
        "$or": [
            {
                "$regex": ".*hello.*"
            },
            {
                "$regex": ".*world.*"
            }
        ]
    }
}

我正在使用mlab.com,并收到以下错误消息:
MongoDB error: "Command failed with error 2: 'unknown operator: $or' on server ZZZZZZZ. The full response is { "ok" : 0.0, "errmsg" : "unknown operator: $or", "code" : 2, "codeName" : "BadValue" }." Please contact support@mlab.com if you need assistance.

为什么$或被检测为未知运算符?

最佳答案

仅仅因为$ or应该是查询中的顶级运算符,就像这样:

db.collection.find({
        "$or": [
            {
                "metadata.text": { "$regex": ".*hello.*" }
            },
            {
                "metadata.text": { "$regex": ".*world.*" }
            }
        ]
})

关于mongodb - 为什么我的MongoDB $ or查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48014849/

相关文章:

node.js - 在AWS EC2中运行定制的mongo容器

javascript - MongoDB Node.js 通过 _id 的 deleteOne 不适用于 ObjectId

mongodb - 如何利用数据库高效修改句子中的单词?

Mongodb 分片集群 $in VS $or

node.js - Mongodb:第一次连接时无法连接到服务器

java - Spring Data MongoDB 聚合,_id 中有许多字段

java - 我使用Spring+MongoDB,当我执行查询方法时,它抛出java.lang.ClassNotFoundException : com. mongodb.MongoException$DuplicateKey

spring - 在集合中查找元素,其中元素具有一个列表字段,并且给定值必须属于该列表

MongoDB,为集合中的每个 user_id 返回最近的文档

javascript - Angular/javascript : Read values from a GET