MongoDB存储手机号码11位数失败,超十位数会自动清0,Integer越界

这是我在做一个app商城出现的问题,下面简单描述一下,我做的流程。

  1. 报错原因:错误是我在前端输入手机号码注册时发现存储不了,存储失败

  2. 然后我就想是不是数据库除了问题,于是我打开native,mongodb数据库
    在这里插入图片描述
    因为我i在测试的时候并没有输入过完整的手机号码11位数,我测试都是简单的输入几位而已。但是当我去面试的时候,给老板展示的时候,老板也正经,按正常流程,输入用户名,自己的手机号码(这个标出来,待会谈到) 等等;这时候注册完跳转到登陆时就出现问题了,登陆失败,实际是因为手机号码 越界(圈出来,会考) 导致存储失败,幸亏老板也不在意这个小细节,因为当时我是不知道哪里出现问题的,回来研究了一会才发现的。

  3. 于是回来后我在native里的手机号码栏输入11位数后,果然。。。
    在这里插入图片描述
    在这里插入图片描述

  4. 过程我就不废话了!后来我看了我的后端,采用的是Integer的方式来存储手机号码,于是我去看了Integer的范围:

Integer最小值:-2147483648
Integer最大值:2147483647

明显Integer仅支持10整数,手机号码为11位,这时候就超出了范围,这就叫 越界。 我们只需要在后端把Integer类型改成Long

这是我原来写的

在这里插入图片描述

修改成Long就可以接收19位以内的整数了

在这里插入图片描述

Long类型范围:

Long最小值:-9223372036854775808
Long最大值:9223372036854775807
支持19位整数

有什么不对的欢迎指出哦。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值