node.js - 如何使用文本匹配进行过滤?
问题描述
我想在 mongodb 和节点中进行查询,以匹配文本进行过滤。
我试图将参数发送并在开头和结尾用斜杠连接,但它不起作用。
const {filterTerm} = req.body;
const slash1 = "/";
const slash2 = "/";
const term = slash1.concat(filterTerm);
const finalTerm = term.concat(slash2);
console.log(finalTerm);
Bookings.find({$or: [{email: finalTerm}, {phone: finalTerm}]})
.exec((err, docs) => {
res.json(docs);
});`
解决方案
使用正则表达式
const finalTerm = term.concat(slash2);
Bookings
.find({$or: [{email: new RegExp(finalTerm, 'gi') }, {phone: new RegExp(finalTerm, 'gi') }]})
.exec((err, docs) => {
res.json(docs);
});
推荐阅读
- python - 从一个数据帧中获取位于另一个数据帧间隔之间的值
- security - 密码管理器如何加密与群组共享的密码?
- ios - 在保留任何下载数据的同时在多个视图控制器之间切换的最佳方法是什么?
- ocl - 使用“Shorthand for Collect”的许多 OCL 表达式的正确解释是什么?
- c# - 通过在视图上使用表发布值
- java - 检查 Jira 中是否存在问题列表
- java - 将 OkHttp 自定义拦截器添加到 Feign 客户端
- php - 使用 PHP 和 MSSQL 准备好的语句
- azure - 如何通过 Azure Function Apps 中的代码直接获取 Azure Function URL?
- python - 尝试在二进制分类上训练 SGDClassifier 时出现位置参数错误