gpt4 book ai didi

javascript - 使用变量在 node.js 应用程序中执行正则表达式 Mongo 搜索

转载 作者:行者123 更新时间:2023-11-30 08:23:45 25 4
gpt4 key购买 nike

我的应用程序的基本功能:客户开始在输入字段中输入电子邮件地址,并收到与他们输入的字符相匹配的自动建议结果。

我已经尝试在我的 Node 应用程序中的 Mongoose/Mongo 中实现它,如下所示:

let customer = await Customer.find({
'email_address': {
$regex: searchQuery
}
})

重要的是要注意,我实际上为 email_address 设置了一个索引,以提高性能,但我在某处读到使用 regex 将无法通过索引进行搜索?我阅读了有关此的文档,但我更加困惑。无论如何,问题的主要症结如下:

我知道通过执行类似 /^exampleEmailAddress/ 的操作,它将匹配以查询开头的结果(不是通配符搜索)。这就是我要的。

但是,当 exampleEmailAddress 是我从 req.query 获得的变量时,我该怎么做呢?我试过:

let customer = await Customer.find({
'email_address': {
$regex: /^`${searchQuery}`/
}
})

这是行不通的。我觉得我在这里缺少一些基本的东西......

最佳答案

您可以使用类 RegExp

const customer = await Customer.find({
email_address: {
$regex: new RegExp(`^${searchQuery}`),
},
});

关于javascript - 使用变量在 node.js 应用程序中执行正则表达式 Mongo 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49253382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com