gpt4 book ai didi

mongodb - 没有可用的隐式 View

转载 作者:可可西里 更新时间:2023-11-01 09:12:28 26 4
gpt4 key购买 nike

当尝试通过 insert 批量加载 DBObject 列表时| , 我得到 no implicit view available

collection.insert(listObjects)//listObjects 是一个 List[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] (docs: List[A])(implicit arg0: (A) ⇒ DBObject) : WriteResult

最佳答案

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

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

import com.mongodb.casbah.Imports._

并尝试将 listObjects 替换为 MongoDBList(listObjects:_*)

编辑:

要在 REPL 中尝试回答您的评论:

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))

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

关于mongodb - 没有可用的隐式 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057695/

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