mongodb 如何在字符串上使用相似的数字

How to use like numbers on string by mongodb

我有一个集合,其中包含将数字存储为字符串的字段 例如 seen = '13,12,15'

现在,当我使用 'like' 查询集合,其中数字为 2 例子

db.notification.find({seen :/2/})

结果将得到所有看到的数字为 12、2 和 122 的集合

我需要查询以获取只有编号 2 的集合

这应该可以解决您眼前的问题(使用字界字符)

db.notification.find({seen: /\b2\b/})

但您确实应该将数字存储为数字,而不是连接的字符串。使用 mongodb 的大部分痛苦来自设计不当的数据模式。你的问题就是一个很好的例子。

您可以使用下面的 $regex

结果
db.notification.find({seen:{ $regex: /2/}})