gpt4 book ai didi

java - 使用java将大型BasicDBObject存储到mongodb时出现异常

转载 作者:行者123 更新时间:2023-11-30 05:05:25 25 4
gpt4 key购买 nike

我想在 mongoDB 中存储大型对象,但在保存大型对象时遇到错误(byte[] 可能> 5MB)。可以这样存储数据吗?在数据库上调用“insert”时,我总是遇到异常“java.lang.IllegalArgumentException:对象太大:4821537”...

片段:

private byte[] persistObject(String id, byte[] value){

BasicDBObject doc = new BasicDBObject();
doc.append("id", id);
doc.append("value", value); // may be really huge! > 5MB of size

try {
getObjectCollection().save(doc);
} catch (MongoException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return value;
}

堆栈跟踪:

java.lang.IllegalArgumentException: object too big: 4821537
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:217)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:180)
at com.mongodb.DBCollection.insert(DBCollection.java:72)
at com.mongodb.DBCollection.save(DBCollection.java:537)
at com.mongodb.DBCollection.save(DBCollection.java:517)

感谢您的帮助/提示:)

最佳答案

我认为您的 mongodb 版本是 1.6。MongoDB 中的 BSON 对象大小有限(4MB)。请升级 mongodb 版本到 1.7+ 。 v1.7/1.8 16MB,以后限制更高。

关于java - 使用java将大型BasicDBObject存储到mongodb时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5270329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com