Mongodb 没有可用的隐式视图

Mongodb 没有可用的隐式视图,mongodb,scala,implicit-conversion,implicit,casbah,Mongodb,Scala,Implicit Conversion,Implicit,Casbah,当尝试通过大容量加载DBObject的列表时,我发现没有可用的隐式视图 collection.insert(listObjects)//listObjects是一个列表[DBObject] [error]Test.scala:139: No implicit view available from List[com.mongodb.casba h.Imports.DBObject] => com.mongodb.casbah.Imports.DBObject. 这个错误意味着什么?我该如

当尝试通过大容量加载
DBObject
的列表时,我发现
没有可用的隐式视图

collection.insert(listObjects)//listObjects是一个列表[DBObject]

[error]Test.scala:139: No implicit view available from List[com.mongodb.casba
h.Imports.DBObject] => com.mongodb.casbah.Imports.DBObject.
这个错误意味着什么?我该如何解决

参考:


def insert[A](文档:列表[A])(隐式arg0:(A)⇒ DBObject):WriteResult

方法insert将采用任何列表,但要在Mongo中存储数据,casbah需要将其转换为DBObject。为此,它使用隐式转换,该转换在casbah中可用于各种数据类型。但是,您尝试插入的数据在您的范围内没有实现或可用的转换。要解决此问题,请导入隐式转换器或实现隐式转换器

在您的情况下,可能缺少导入。确保你有:

import com.mongodb.casbah.Imports._
并尝试将
listObjects
替换为
MongoDBList(listObjects:*)

编辑:

要回答您的评论,请尝试回复:

scala> val a = List(1,2,3,4,5,6)
a: List[Int] = List(1, 2, 3, 4, 5, 6)

scala> List(a:_*)
res0: List[Int] = List(1, 2, 3, 4, 5, 6)

scala> List(a)
res1: List[List[Int]] = List(List(1, 2, 3, 4, 5, 6))

将获取元素而不是列表,并避免创建列表列表。

您能检查一下吗?将
listObjects
替换为
listObjects.asInstanceOf[List[com.mongodb.casba h.Imports.DBObject]
。它会给出同样的错误吗?同样的错误:
[error]Test:139:列表[com.mongodb.casbah.Imports.DBObject]=>com.mongodb.casbah.Imports.DBObject.
@ViniciusMiana-列表[DBObject]
对于该类型(显示为注释)是否足够?如果没有,请让我知道要补充什么。谢谢。你能告诉我在哪里可以找到隐式转换吗?我希望这个导入能够处理它
import com.mongodb.casbah.Imports.\u
基于这个casbah教程。“它提供了一个Imports对象,可以自动将您需要的所有内容(包括隐式转换和类型别名)导入到一些常见的MongoDB类型”()是的,我正在使用该导入。这让我绕过了我的问题,但现在我看到,
BasicBonsList只能使用数字键,而不能:[u id]
,这可能是另一篇文章的主题。谢谢,这也奏效了:
collection.insert(MongoDBList(listObjects))
。为什么要使用
:*
?@Kevin:获取元素而不是列表,否则您将得到列表列表。