匹配MongoDB中存储在字段中的正则表达式模式

时间:2016-08-30 05:13:47

标签: mongodb

这个问题与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 *匹配。

0 个答案:

没有答案