mongodb喜欢concat mysql查询

时间:2013-01-28 12:29:36

标签: mysql mongodb sql-like concat

我在Mysql中有一个表,我有一些D和C类的IP,我使用这个表来测试请求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/')

我必须通过迭代再次检查我的应用程序,我认为这不是一个好的解决方案。

所以,我想知道你是否有任何建议或建议给我。

1 个答案:

答案 0 :(得分:0)

您可以使用$ in运算符从单个查询中获取所有匹配项。

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

因为你在正则表达式中使用/^选项,所以会使用索引。

这有帮助吗?