【问题标题】:$regex requires regular expression error Pymongo Stitch$regex 需要正则表达式错误 Pymongo Stitch
【发布时间】:2018-07-14 05:39:52
【问题描述】:

尝试使用以下代码查询数据库: 我在“nameInput”中有一个字符串,我想查找包含它的文档。

var arg = {"$and":[{"name":{'$regex' : nameInput, '$options' : 'i'}}, {"thing": selectedThing}]}

我将 arg 插入 find() 方法并返回此错误: errors.js:20 Uncaught (in promise) 错误:$regex 需要正则表达式

知道如何解决这个问题吗?我尝试使用 Javascript 中的 RegExp 方法替换 nameInput 无济于事。 (例如 new RegExp(nameInput, 'i'))

【问题讨论】:

  • 你用什么版本的pymongo开发?

标签: javascript regex pymongo


【解决方案1】:

如果您尝试在 nameInput 中查找字符串,那么您需要在该字段上进行正则表达式。试试这个:

nameInput : { $regex : /pattern-you-want-to-find/, $options : ‘i’ } }

对简短的回答表示歉意,但如果提供更详细的问题和示例文档,我可以尝试提供更多帮助。

【讨论】:

  • 感谢您的回答!问题是我无法对其进行硬编码。我从网页上的文本字段中获取 nameInput 变量的值,然后我将其传入以通过 pymongodb 进行包含查询
  • @yasgari 不能硬编码什么? nameInputkeyvalue 是你从文本文件中提取然后匹配的变量......所以当你来做你的 $regex nameInput 将被归类作为field,然后您想在其中的值上运行您的正则表达式。
  • 让我进一步详细说明 - 我有一个网站,其 html 页面包含多个用于搜索的文本字段。变量nameInput 在包含这些文本字段的表单的事件处理程序中设置;其设置为用户键入要搜索的名称的字段的值。像这样:nameInput = document.getElementById('gene').value;所以现在因为这个变量包含我要查找的字符串,我希望数据库查询并找到包含传入字符串的任何文档(在列name),存储在nameInput希望这有帮助!抱歉,这是我在这里的第一篇文章
  • 本 OP 中的答案可能会有所帮助:stackoverflow.com/questions/13224753/…
猜你喜欢
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 2020-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多