2016-07-23 3 views
0

카스바 버전 : 여기 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가 난 그냥 ++에 대한 import 문을없는 것 같아 ... 하나

도움이되지 않았다 많이 발견하지 못했지만, 난 몰라 가져올 항목을 알아야합니다.

> 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 = { 

두 번째는 여기에 관련 같습니다

답변

1

소스의 빠른 GREP은 MongoDBObject 클래스에 두 ++ 방법을 보여준다. <%은 뷰 경계를 나타내므로 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._을 가져올 수 있습니다.

+0

이제 해결되었습니다. :) – keypoint