MongoDB的像CONCAT MySQL查询(mongodb like concat mysql

2019-11-01 12:06发布

我有MySQL中的表在那里我有IP地址的一些D和C类和我用这个表来测试,如果请求的IP是在数据库或属于C级这样的:

select * from My_Table 
where '192.168.1.12' LIKE CONCAT(ip, '%');

(其中192.168.1.12是请求IP,我对我的表测试)

在我的数据库,如果我在C格式的IP“192.168.1”,我会得到一个匹配。

我想使用的MongoDB,并在文件相同的信息,其中每个IP(无论是在C或d类格式)是_id(这是默认索引)。

我怎样才能得到它与MongoDB的工作,如果正则表达式将适得其反呢? (如果我有C级预先)

如果我每个请求的IP分割成一个C类检查与正则表达式,如:

db.my_table.find(_id: '^/split_ip/')

我会在我的应用程序再次检查通过迭代每个结果,我认为这不会是一个很好的解决方案。

所以,我想知道,如果您有任何意见或建议给我。

Answer 1:

您可以使用$在运营商从单一的查询获取所有匹配。

{ _id: {$in : [/^192.0.1.1/, /^194.1.1/ ] }}

监守你使用/^在正则表达式选项,该指数将被使用。

这是否帮助?



文章来源: mongodb like concat mysql query