如何筛选MongoDB中account字段含逗号分隔字符串的文档
筛选MongoDB中account字段为逗号分隔字符串的文档
嘿,我来帮你搞定这个需求!你需要找出account字段值是逗号分隔形式的文档,本质上就是要筛选出**account字段包含逗号**的文档对吧?这里有两种简单好用的方法:
方法1:使用正则表达式($regex)
MongoDB的$regex操作符可以直接匹配包含特定字符的字符串,我们用它来匹配逗号即可:
db.yourCollectionName.find({ account: { $regex: /,/ } })
这个正则表达式会匹配所有包含逗号的account值,不管逗号前后有没有空格(比如你的数据里Option1, Option2和Option5,Option6都会被匹配到),完美适配你的数据格式。
方法2:使用$indexOfBytes判断逗号存在
另一种方式是利用$indexOfBytes函数查找逗号的位置,如果返回值不等于-1,说明字符串里存在逗号:
db.yourCollectionName.find({ $expr: { $ne: [ { $indexOfBytes: ["$account", ","] }, -1 ] } })
$indexOfBytes会返回逗号在account字符串中的索引位置,如果找不到逗号就返回-1,通过$ne判断不等于-1,就能筛选出目标文档。
记得把yourCollectionName替换成你实际使用的集合名称哦,这两种方法都能准确得到你想要的结果!
内容的提问来源于stack exchange,提问作者Adharsh
相关产品推荐
相关产品推荐

