【问题标题】:Getting "Regular expression is invalid: missing )" error using json in MongoDb在 MongoDb 中使用 json 获取“正则表达式无效:缺少)”错误
【发布时间】:2018-09-18 23:45:16
【问题描述】:

我正在运行下面给出的查询。

db.CollectionName.find({'serviceName':{'$regex':'^(ALBUMIN$','$options':'si'}})

我收到以下错误。

Error: error: {
    "ok" : 0,
    "errmsg" : "Regular expression is invalid: missing )",
    "code" : 2,
    "codeName" : "BadValue"
}

我怎样才能避免这个错误,因为括号可以在字符串内的任何地方? 喜欢- (ALBUMIN 或 ((ALBUMIN) 等。

【问题讨论】:

    标签: json mongodb mongoose jongo


    【解决方案1】:

    您需要转义 ( 字符。您可以使用 \ 转义正则表达式中的特殊字符。所以对于您的情况,它就像

    db.CollectionName.find({'serviceName':{'$regex':'^\\(ALBUMIN$','$options':'si'}})
    

    无论何时使用,您都可以随时在https://regex101.com/ 上测试您的正则表达式。

    【讨论】:

    • 我尝试了您的解决方案,但仍然遇到同样的错误。
    • 啊我只是错过了在 javascript 中你需要有 \\ 才能将其视为一个。基本上我们也需要在javascript中转义\。我已经编辑了我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多