Mongo casbah:无法解析“++”
Mongo casbah: cannot resolve "++"
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
我尝试 Google 但没找到多少,official documentation 也没有帮助...
我想我只是缺少 ++
的导入语句,但我不知道要导入哪个。
源代码的快速 grep 揭示了 MongoDBObject
class 上的两个 ++
方法:
> 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._
来获取它。
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
我尝试 Google 但没找到多少,official documentation 也没有帮助...
我想我只是缺少 ++
的导入语句,但我不知道要导入哪个。
源代码的快速 grep 揭示了 MongoDBObject
class 上的两个 ++
方法:
> 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._
来获取它。