2013-03-29 1 views
1

는 :스칼라, 카스바 : 컴파일 오류. 어떻게 외부 libary에서 개체를 instatiate? 내가 MongoDB를가 카스바 툴킷을 사용하여 데이터를 기록 함수를 작성하는 것을 시도하고있다

import com.mongodb.casbah.WriteConcern 
     import ... 

    def saveRecord(rec: MongoDBObject) { 
    mongoColl.insert(rec, WriteConcern) 
    } 

카스바는 스칼라 객체로 WriteConcern을 정의합니다.

val wc:WriteConcern = WriteConcern 

나는이 오류를 얻을 : 나는 단순히 WriteConcern 인스턴스화하려고 할 때 또한

No implicit view available from Object => com.mongodb.casbah.Imports.DBObject. 

not enough arguments for method insert: (implicit dbObjView: Object => com.mongodb.casbah.Imports.DBObject, implicit concern: com.mongodb.WriteConcern, implicit encoder: com.mongodb.casbah.Imports.DBEncoder)com.mongodb.casbah.Imports.WriteResult. Unspecified value parameter dbObjView. 

: 나는 내 코드의 첫 줄에 import com.mongodb.casbah.WriteConcern

not found: type WriteConcern 

을, 나는 다음과 같은 오류를 얻을 수 왜 그것이 발견되지 않습니까? WriteConcen을 어떻게 인스턴스화 할 수 있습니까? 감사합니다.

+0

는'insert' 3 개 암시 적 매개 변수,'dbObjView, 우려, encoder'와 카레 기능 - 그것은'dbObjView과 같은 오류에서 : com.mongodb.casbah.Imports. DBObject'가 정의되어 있지 않습니다. –

+0

아아,'import com.mongodb.casbah.Imports.DBObject'를 추가하지 않았습니다. –

+0

당신은 아마 그 타입의'암시 적 val'을 정의 할 필요가 있습니다, 그리고'implicit' 인자로 대체 될 것입니다. –

답변

2

필요한 implicit에 대한 가져 오기를 추가 삽입과 같은 :

import com.mongodb.casbah.Imports._ 
mongoColl.insert(rec) 

를 귀하의 질문에 WriteConcern를 인스턴스화 할 수 없다는 대해, 그건 com.mongodb에서 클래스 거기 때문에 열거 같은 객체는 com.mongodb.casbah 아래에있다 . 이것은 작동합니다 :

그것은처럼 보이는
import com.mongodb.casbah.WriteConcern 
val wc: com.mongodb.WriteConcern = WriteConcern.Normal 
+0

안돼. 'mongoColl.insert (rec)'를 실행하려고하면 다음과 같은 에러가 발생합니다. 1) com.mongodb.casbah.commons.MongoDBObject => com.mongodb.casbah.Imports.DBObject에서 암시 적 뷰를 사용할 수 없습니다. 2) 삽입 메소드에 대한 인수가 충분하지 않습니다. (암시 적 dbObjView : com.mongodb.casbah.commons.MongoDBObject => com.mongodb.casbah.Imports.DBObject, 암시 적 관심사 : com.mongodb.WriteConcern, 암시 적 인코더 : com.mongodb .casbah.Imports.DBEncoder) com.mongodb.casbah.Imports.WriteResult. 지정되지 않은 값 매개 변수 dbObjView. –

+0

가져 오기 추가 :'import com.mongodb.casbah.Imports._'가 도움이 될 것입니다. 일단 내가 그것을 추가하면 오류없이 컴파일됩니다. –

관련 문제