【发布时间】:2018-02-22 22:41:54
【问题描述】:
我有一段代码,如下所示,并且在 Java 中遇到了这个错误。 coll 是我需要插入数据的集合。我希望 mongodb 会自动生成 id,所以将相同的数据(在 for 循环中)放在一起并不重要,但我得到了那个错误。我该怎么办?
// String json1 = XML.toJSONObject(xml_text).toString();
// DBObject dbo = (DBObject) com.mongodb.util.JSON.parse(json1);
// List<DBObject> list = new ArrayList<>();
// list.add(dbo);
for (int i = 0; i < 5000; i++) {
coll.insert(list);
}
db.collection.getIndexes 返回
switched to db ice
> db.next.getIndexes()
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "ice.next"
}
]
>
【问题讨论】:
-
您是否尝试将具有不同_id 的相同数据插入到数据库中?
-
我只是插入相同的数据,并且每次我这样做时都希望 mongodb 使用不同的 id,是的。
-
我认为您可能已经指定您插入的 coll 数据在架构中是唯一的,因此这会引发重复的条目代码为 11000
-
我应该怎么做才能仍然使用自动生成的_ids?
-
你能不能尝试在你的
list对象中去掉_id,然后如果mongo每次都为它生成一个新的id,则插入该对象。
标签: java mongodb mongodb-query mongo-java mongo-java-driver