mongodb模糊查询$regex踩的坑

本文记录了一位新手在使用MongoDB进行模糊查询时遇到的问题。在尝试查询包含特定字符串(如'刘二麻子')的文档数量时,由于数据结构(name字段为list)和查询语句的编写方式,导致了预期结果与实际结果的不一致。经过一系列尝试,最终找到了正确的解决方案,即正确使用$regex匹配list中的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用mongodb存储查询数据,菜鸟刚入职,接触大批量数据慌得一批。
数据库中存储类似如下文档数据
{ “_id” : ObjectId(“5d57cfc89eda7180de8fea35”), “reg_id” : “12345689”, “name” : “[‘张三’, ‘李四’, ‘王五’, ‘刘二麻子’]”, “value” : “1.0”, “uuid” : “123456891234569” }
{ “_id” : ObjectId(“5d57cfc89eda7180de8fea35”), “reg_id” : “12345689”, “name” : “[‘哈哈’, ‘呵呵’, ‘娃娃’, ‘刘二麻子’]”, “value” : “1.0”, “uuid” : “123456891234569” }
{ “_id” : ObjectId(“5d57cfc89eda7180de8fea35”), “reg_id” : “12345689”, “name” : “[‘李白’, ‘张四’, ‘杜甫’, ‘刘二麻子’]”, “value” : “1.0”, “uuid” : “123456891234569” }
{ “_id” : ObjectId(“5d57cfc89eda7180de8fea35”), “reg_id” : “12345689”, “name” : “[‘张三’, ‘李四’, ‘滨江’, ‘刘二麻子’]”, “value” : “1.0”, “uuid” : “123456891234569” }
本人想查询“刘二麻子”存在的文档有几条数据
百度到的查询语句为

db.uesr.find({name:{$regex: /刘二麻子/}}).count()

正常情况下输出为4, 本人在终端试了也没有什么问题
于是开始编写python脚本,计算出name中每个名字存在文档的条数, 代码如下
collection = mydb[‘user’]

zs =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值