Casbah版本: 2.8.0
下面是示例:http://api.mongodb.com/scala/casbah/2.0/tutorial.html#combining-multiple-dbobjects
我使用下面的语句作为import语句。
import com.mongodb.casbah.AggregationOutput
import com.mongodb.casbah.Imports._
import com.mongodb.casbah.TypeImports._
import com.mongodb.casbah.commons.{MongoDBList, MongoDBObject}下面的++得到了Cannot resolve symbol ++错误。
val basic = MongoDBObject(
"id" -> "123",
"project" -> "pp123"
)
val createdTime = MongoDBObject(
"createdTime" -> MongoDBObject(
"$exists" -> false
)
)
val query = basic ++ createdTime我试着在谷歌上搜索,但没有找到太多,official documentation也没有帮助...
我想我只是缺少了++的一个导入语句,但是我不知道应该导入哪个语句。
发布于 2016-07-23 09:57:03
源代码的快速grep显示了MongoDBObject类上的两个++方法:
> grep -r "def ++" .
./casbah-commons/src/main/scala/MongoDBObject.scala: def ++(pairs: (String, Any)*): DBObject = {
./casbah-commons/src/main/scala/MongoDBObject.scala: def ++[A <% DBObject](other: A): DBObject = {第二个问题在这里看起来很相关。<%表示绑定的视图,因此您需要从MongoDBObject隐式转换为DBObject。
> grep -r "implicit .*: DBObject =" .
./casbah-commons/src/main/scala/Implicits.scala: implicit def map2MongoDBObject(map: scala.collection.Map[String, Any]): DBObject =
./casbah-commons/src/main/scala/Implicits.scala: implicit def unwrapDBObj(in: MongoDBObject): DBObject = in.underlying看起来你可以导入com.mongodb.casbah.Implicits._来获得它。
https://stackoverflow.com/questions/38537228
复制相似问题