什么是通过编程设置的上限收集限制
Posted
技术标签:
【中文标题】什么是通过编程设置的上限收集限制【英文标题】:what is the Capped collection limit via programing 【发布时间】:2022-01-07 19:06:53 【问题描述】:我尝试通过 java/Spring 数据编程创建/修改上限集合,我正在使用 BasicDBObject,我的 Map 将设置在该 dbObject 中,当我尝试运行程序时,小的 int 值工作正常,但如果我使用 2 GB 的 int 值然后错误就像 int 值太长一样
我尝试了不同的数据类型(BigInt、long、String .. 等)它给出的错误,程序只期望 int 值而不是其他数据类型。
Map<String, Object> commandArguments = new BasicDBObject();
commandArguments.put(CONVERT_TO_CAPPED,COLLECTION_NAME);
commandArguments.put(SIZE, 2147483648);
BasicDBObject command = new BasicDBObject(commandArguments);
Document commandResult = database.runCommand(command);
【问题讨论】:
Java 中整数的最高可能值为 2147483647,因此您传递的值 - 2147483648 - 太大了。 【参考方案1】:我变了
commandArguments.put(SIZE, 2147483648);
到
commandArguments.put(SIZE, 2147483648l);
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review @Vusal 看起来像是对我的回答。也许不是一个好,但仍然是一个答案。也许它应该被否决,但不能被删除 它解决了我的问题,因为 Mongo DB 数据类型是 bigInt64以上是关于什么是通过编程设置的上限收集限制的主要内容,如果未能解决你的问题,请参考以下文章