如何在 MongoDB 查询中使用正则表达式变量

2024-01-22

我想根据我构造的正则表达式查询 MongoDB 文档。例如 我构建了一个简单的正则表达式,如下所示,它是 Nodejs 中随机字母和随机数字的组合

var randnum = Math.floor((Math.random() * 10) + 1);
var alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','Y','Z'];
var randletter = alpha[Math.floor(Math.random() * alpha.length)];
var val = randletter + randnum + '.*;

我已经尝试了正则表达式变量的各种组合,例如

var stream = collection.find({"FirstName": /val/).stream();
&&
var stream = collection.find({"FirstName": /$val/).stream();
&&
var stream = collection.find({"FirstName": {$in : [{$regex:val}]}}).stream()
&&
var stream = collection.find({"FirstName": {$in : [{$regex:$val}]}}).stream()

没有一个看起来有效。然而,当我编写实际的正则表达式时,我得到了例如的记录

var stream = collection.find({"FirstName": /J.*/).stream();

任何帮助将不胜感激。

谢谢 加内什


我的标题也有同样的问题,经过大量搜索,我找到了这个答案Here https://xuguoming.wordpress.com/2015/02/11/using-variable-regex-with-mongodb-query-in-node-js/,

var search = 'Joe';
db.users.find(name: /^search/)
db.users.find(name: {$regex: /^search/});
db.users.find(name: {$regex: "/^" + search + "/"});

上面的查询不会返回任何内容。这个小问题的解决办法很简单:

db.users.find(name: new RegExp(search)) //For substring search, case sensitive. 
db.users.find(name: new RegExp('^' + search + '$')) //For exact search, case sensitive
db.users.find(name: new RegExp(search, ‘i')) //For substring search, case insensitive
db.users.find(name: new RegExp('^' +search + '$', 'i')); //For exact search, case insensitive

可以根据此处的参考添加其他标志或属性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 MongoDB 查询中使用正则表达式变量 的相关文章

随机推荐

  • 更新 LayoutView 的模型

    JSBin 链接 http jsbin com rosadomisa edit html js console output 单击 Clicks 链接可查看显示更新后的模型数据的控制台 但原始显示的 HTML 不会更改 更新 LayoutV
  • 将 Windows 对话框错误消息重定向到控制台

    有谁知道如何重定向 捕获模式 Windows 错误对话框 对于仅尝试运行程序并捕获退出代码和 stdout stderr 输出的非交互式命令行程序来说 这确实是个问题 此问题的最新实例是一个模态 Windows 对话框 其形式如下 The
  • AWS S3 最大文件和上传大小

    AWS S3 文档说 单个 Amazon S3 对象的大小范围最小为 0 字节到最大 5 TB 最大的物体可以 一次 PUT 上传的大小为 5 GB 如果我只能上传 5GB 的文件 如何存储 5TB 的文件 根据文档here http do
  • Python 3.5 async for 阻止 ioloop

    我有一个带有两个处理程序的简单 aiohttp 服务器 第一个在中进行一些计算async for环形 第二个仅返回文本响应 not so long operation以最慢的递归实现返回第 30 个斐波那契数 大约需要一秒钟 def not
  • Akka.Net 发送巨大消息(最大帧大小)

    我有一个关于增加最大帧大小和发送 接收缓冲区大小值的问题 他们的高度有限制吗 我将大量数据传递到系统中 比如 20mb 然后用于计算一些结果并返回 将上述参数设置为 100mb 会导致消息被丢弃 在这种情况发生之前我可以通过的最大块大约是
  • 如何在 LDAP 中按 DN 进行搜索?

    我正在从 LDAP 中提取有关用户的信息 这包括 directReports 它是完整的CN cnBlah OU ouBlah DC dcBlah形式 我正在尝试再次查找有关该记者的信息 到目前为止 我能够真正找到所述用户的唯一方法是打破C
  • 关于“==”运算符行为的解释

    在下面的非常简单的示例中 我无法理解 运算符的行为 A lt c 10 20 10 10 20 30 B lt c 40 50 60 70 80 90 df lt data frame A B df df A c 10 20 it retu
  • mongodb ISODate 问题

    我正在使用java IDE是eclipse 在mongodb上查询 下面是我的java代码 DBObject query new BasicDBObject ObjectId id new ObjectId 529f280b90ee58cb
  • SpringBoot:配置生产环境与开发环境

    我在使用 SpringBoot 1 5 1 时遇到问题 我已经创建了application properties and application dev properties对于我的开发环境 主要区别在于持久性 在生产中 applicati
  • GruntJS - grunt 构建后错误的图像路径

    Grunt 弄乱了我的缩小 CSS 我不知道为什么以及如何避免它 简而言之 在缩小之前我有一些像这样的背景图像 head image height 380px background url images head1 bg png repea
  • MYSQL排序与主义

    如本文所述question https stackoverflow com questions 41126279 doctrine orm order by annotations object fields并回答 不可能 我提出了一个新问
  • 倒计时栏 Android 示例

    有什么帮助可以在进度条上显示这个简单的倒计时吗 new CountDownTimer 30000 1000 public void onTick long millisUntilFinished mTextField setText sec
  • 内部函数(python)的文档字符串是否必要? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Python中 我们用以下划线开头来指定内部函数 私有方法 这些函数是否应该使用文档字符串进行记录 是否必需 我的意思是正式文档 而不是帮助代
  • 无法使用 ssl 与 PDO 连接,但使用 ssl 的 mysqli 可以工作

    我们通过创建证书 更新 my cnf 创建具有正确权限的用户并需要 ssl 重新启动服务来设置带有 SSL 的 mysql 并通过远程连接验证它在服务器端和客户端 通过 mysql 命令行 是否正常工作 我还验证了 PDO 在完全相同的设置
  • 如何绘制参数的不同值的分布?

    我有以下脚本 library ggplot2 values lt c 0 1 0 15 0 2 0 3 0 5 1 1 5 2 2 5 colours lt palette 1 length values p lt ggplot data
  • 如何在 UipageViewController 中快速预加载下一个和上一个视图

    由于经过大量搜索和 RND 以及许多不同的代码实现后 滑动延迟问题尚未解决 因此我猜预加载下一个和上一个视图控制器将解决我的滑动延迟问题 如何在滑动之前加载下一个和上一个视图 经过长时间的 rnd 和搜索后没有找到解决方案 在显示可见控制器
  • 如何添加 favicon gatsby-config.js?

    所以我尝试在我的博客中添加图标 代码如下 在我的 gatsby config js 中 module exports siteMetadata title Chatbiz Blog plugins gatsby plugin react h
  • 是否有任何解决方法可以禁用 Google 地球插件的“缩放时自动倾斜”功能?

    最新版本的 Google 地球附带了一项名为 缩放时自动倾斜 的功能 如果启用 当您放大到靠近地面时 Google 地球会自动将相机向地平线倾斜 可以从 GUI 中禁用此功能 首选项 gt 导航选项卡 不幸的是 到目前为止我还没有找到一种方
  • 使用 PowerShell 将文件上传到 SFTP

    我们被要求设置从我们的一台服务器到 SFTP 站点的自动上传 每个星期一早上都会有一个文件从数据库导出到文件管理器 他们希望在星期二将该文件上传到 SFTP 我们当前使用的身份验证方法是用户名和密码 我相信也可以选择拥有密钥文件 但选择了用
  • 如何在 MongoDB 查询中使用正则表达式变量

    我想根据我构造的正则表达式查询 MongoDB 文档 例如 我构建了一个简单的正则表达式 如下所示 它是 Nodejs 中随机字母和随机数字的组合 var randnum Math floor Math random 10 1 var al