mongodb 库数量限制_MongoDB in 数量限制

1、查询语句本身其实是一个document, 最大为16MB(3.4,4.0 的限制,官方文档)

2、查询语句本身,也就是{ '' : { '$in' : [] }}, 大小为 22字节

3、每增加一个字段名,增加一位字节

4、in里面每增加一个参数,大小固定增加11字节

5、如下:

mongos> Object.bsonsize([1])

16

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4] } })

74

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5] } })

85

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6] } })

96

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 69000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 6900000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 69000000000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 69000000000000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 6900000000000000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 690000000000000000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 69000000000000000000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 6900000000000000000000] } })

107

mongos> Object.bsonsize({ 'fieldOne' : { $in : [ 1, 2, 3, 4, 5, 6, 69000000000000000000000000] } })

107

数字不管多大,字节是一样的

mongos> Object.bsonsize({ 'a' : { '$in' : [1] }})

34

mongos> Object.bsonsize({ '' : { '$in' : [1] }})

33

mongos> Object.bsonsize({ '' : { '$in' : [] }})

22

The query document itself is 22 bytes;

Each byte of the field name adds a single byte;

Each number added to the $in clause adds 11 bytes.

mongos> 16*1024*1024

16777216

mongos> (16*1024*1024) - 22 - 1

16777193

mongos> ((16*1024*1024) - 22 -1) / 11

1525199.3636363635

THE ANSWER: 1,525,198 (That's 1.5 million. That's pretty big.)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值