You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MongoDB的clients集合中查找name字段首尾为指定字母的文档?

MongoDB 合并首尾匹配查询的最优实现

你需要查询clients集合中name字段以B开头且以s结尾的文档,原本拆分的两个查询分别是:

  • 匹配name以s结尾:db.clients.find({name:/s$/})
  • 匹配name以B开头:db.clients.find({name:/^B/})

你尝试的db.clients.find({name:/s$/,nom:/^B/})存在两处问题:一是字段名写错了(应该是name而非nom),二是这种写法是同时匹配两个不同字段,不符合你的需求。

最优实现是将两个正则条件合并为一个正则表达式,直接匹配首尾规则:

db.clients.find({name: /^B.*s$/})

如果需要忽略大小写(比如匹配b开头、S结尾的文档),可以添加i修饰符:

db.clients.find({name: /^B.*s$/i})

内容的提问来源于stack exchange,提问作者User124

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:57:00