Mongo casbah:无法解决" ++"

时间:2016-07-23 01:18:06

标签: mongodb scala import driver casbah

Casbah版本:2.8.0

以下示例:http://api.mongodb.com/scala/casbah/2.0/tutorial.html#combining-multiple-dbobjects

我在下面使用了导入语句。

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没有帮助......

我想我错过了++的导入声明,但我不知道要导入哪一个。

1 个答案:

答案 0 :(得分:1)

来源的快速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 = {

第二个看起来与此相关。 <%表示视图范围,因此您需要从MongoDBObjectDBObject进行隐式转换。

> 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._来获取此信息。