• 欢迎访问废江网站,承蒙遇见 QQ群
  • 本站将致力于推送优质的java知识以及算法,开源代码!

数据库篇

架构思维 站点默认 10个月前 (12-04) 929次浏览 已收录 1个评论 扫描二维码
文章目录[隐藏]

如何排序查找ip字段

有这样一个需求,就是mongodb存储一堆ip地址,然后我们在取出来的时候,如何得到已经排序后的ip地址

首先直接排序肯定是不行的,比如192.168.204.12这个地址,存储在mongodb肯定是字符串的形式,然后字符串排序的话,对于开头的192,如果再来一个21开头的ip地址,21就比192大了,肯定不行。字符串排序也正是这样。我首先想到的是,直接查出来,然后用过java对字符串进行split然后转为int排序。但是这个方案很快就被我否决了。为什么?因为,mongodb在查询的时候用到了分页查询,那么查询的时候,就得全部查询出来,这样耗时非常的大。所以,只能在mongodb里面排序好了之后再次查询出来。好像是一个无解的问题。其实,思维扩散开了也就简单了,很简单加一个字段就行了。其实加字段也是有讲究的。这里加上一个long字段,然后在插入的时候,直接每一位数不足补0,比如上面的ip就是192168204120这样,这时查询的时候,直接根据long字段sort就可以了。


废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:数据库篇
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 666非常的不错
    12021-12-04 20:24 回复