Javascript MongoDB查询ip范围

Javascript MongoDB查询ip范围,javascript,c#,mongodb,ip,Javascript,C#,Mongodb,Ip,我正在开发一个IP身份验证服务,我正在寻找一种在mongoDB中存储IP范围的正确方法,以便以后检查IP是否在某个范围内。基本上我有3个想法: 存储为字符串{from;to},然后创建一个js函数来执行ip检查,然后在find中使用它 存储为字节,然后创建一个js函数来进行检查 存储为字符串,并在C#a中使用它执行ip匹配,而不是在Mongo中 有没有其他比我提到的解决方案性能更好的解决方案?为什么不将其存储为数字(删除的点)?事实就是这样。然后可以通过$gt和$lt运算符进行查询。@Sag

我正在开发一个IP身份验证服务,我正在寻找一种在mongoDB中存储IP范围的正确方法,以便以后检查IP是否在某个范围内。基本上我有3个想法:

  • 存储为字符串
    {from;to}
    ,然后创建一个js函数来执行ip检查,然后在find中使用它
  • 存储为字节,然后创建一个js函数来进行检查
  • 存储为字符串,并在C#a中使用它执行ip匹配,而不是在Mongo中

有没有其他比我提到的解决方案性能更好的解决方案?

为什么不将其存储为数字(删除的点)?事实就是这样。然后可以通过$gt和$lt运算符进行查询。@Sagish您甚至不必这样做<在词典学比较中,code>10.0.0.2介于
10.0.0.1
10.0.0.3
之间。所以
db.ranges.find({$and:[{“ip”:{$gte:{10.0.0.1},{“ip”:{$lte:{$10.0.0.3}]},{u id:0,ip:1})
应该返回10.0.0.2,因此不为null,就完成了。尽管如此,我还是在
ip
字段上添加了一个索引。