gpt4 book ai didi

scala - java.lang.IllegalArgumentException : BasicBSONList can only work with numeric keys, 不是:[_id]

转载 作者:行者123 更新时间:2023-12-05 00:28:19 30 4
gpt4 key购买 nike

在另一张 SO 海报(Vinicius Miana)之后解决了我的 issue插入 List[DBObject] ...

// Bulk insert all documents
collection.insert(MongoDBList(docs)) // docs is List[DBObject]

现在,我在尝试插入时看到此错误。
java.lang.IllegalArgumentException: BasicBSONList can only work with numeric keys, not: [_id]
编辑

完整的堆栈跟踪
[info]   java.lang.IllegalArgumentException: BasicBSONList can only work with numeric keys, not: [_id]
[info] at org.bson.types.BasicBSONList._getInt(BasicBSONList.java:161)
[info] at org.bson.types.BasicBSONList._getInt(BasicBSONList.java:152)
[info] at org.bson.types.BasicBSONList.get(BasicBSONList.java:104)
[info] at com.mongodb.DBCollection.apply(DBCollection.java:767)
[info] at com.mongodb.DBCollection.apply(DBCollection.java:756)
[info] at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:220)
[info] at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:204)
[info] at com.mongodb.DBCollection.insert(DBCollection.java:76)
[info] at com.mongodb.casbah.MongoCollectionBase$class.insert(MongoCollection.scala:508)
[info] at com.mongodb.casbah.MongoCollection.insert(MongoCollection.scala:866)

我检查了一个 post与我完全相同的问题,但我不确定如何应用已接受的答案。

此错误是否意味着我无法插入任何键值对,例如 value不可类型转换到 Int (每 BasicBSONList)?

最佳答案

您根本无法插入 MongoDBList成一个集合。如果你想在一次操作中插入多个文档,你只需要传递你的 List[DBObject]直接到 insert方法:

collection.insert(docs: _*)
_*需要,因为 insert是一个可变参数方法。

另一方面,我不得不承认这个异常在这里非常令人困惑,它的错误消息与实际问题没有太大关系。我怀疑这是因为 Casbah 试图治疗 MongoDBList作为可以插入数据库的常规文档。它试图访问 _id它尝试插入并导致异常的对象。

关于scala - java.lang.IllegalArgumentException : BasicBSONList can only work with numeric keys, 不是:[_id],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058990/

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