这个问题与MongoDB的查询功能相匹配,以匹配存储在字段中的正则表达式。
在数据库中,我存储简单的邮政编码正则表达式模式。例如,在邮政编码字段中:3121, 312*, 313?
然后,如果有人输入任何匹配任何模式的字符串,则应该返回记录。因此用户将输入以下之一:“3121”,“31222”,“3135”并且记录应匹配并返回。这是正常的正则表达式匹配的反转。
我知道我可以在代码中单独测试每个zipcode匹配,但是是否可以构造一个mongoDB查询来直接处理匹配?
我会在此查询中添加什么内容?
db.shippingZones.query({}).pretty()
例如,shippingzone
文档如下所示:
{
id: 123455678,
states: ['NSW', 'VIC'],
zipcodes: ['3121', '312*', '313?']
}
然后,当用户输入'31222'时,我需要一个将返回样本文档的查询,因为正则表达式312 *匹配。