2013-03-21 4 views
0

저는 스칼라를 위해 Casbah MongoDB 툴킷을 사용하려고합니다. localhost에서 MongoDB를 실행 중이므로 제대로 작동합니다. 그러나 다음 코드는 아무것도하지 않는다 - 어떤 데이터베이스도없고 컬렉션 얻을 created.And 예외가 발생하지 않습니다 :스칼라를위한 Casbah MongoDB 툴킷 : 연결 및 콜렉션을 만들 수 없습니다.

package test.scalamongo 

import com.mongodb.casbah.Imports._ 

object Simple { 

    def main(args: Array[String]): Unit = { 
try { 
    // Connect to default - localhost, 27017 
    val mongoClient = MongoClient() 
    val mongoDB = mongoClient("casbah_test") 
    val mongoColl = mongoClient("casbah_test")("test_data") 
    println("Ok now?") 
} catch { 
    case e: Throwable => 
    println("Exception !!!") 
    e.printStackTrace() 
} 
    } 

} 

나는 무엇을 놓치고? 감사합니다.

+0

그들은 당신이 몽고 쪽에서 만들어지지 않는다는 것을 의미합니까? –

+0

예, Casbah는 Mongo 데이터베이스와 아무런 관련이 없습니다. –

답변

0

명시 적으로 컬렉션을 만들 수 있습니다

val mongoClient = MongoClient() 
val mongoDB = mongoClient("casbah_test") 
val mongoColl = 
    if (mongoDB.collectionExists("test_data")) { 
    mongoDB("test_data") 
    } else mongoDB.createCollection("test_data", options: DBObject) 

가능한 옵션 :

덮인 - 부울 : 컬렉션은
크기 덮인 경우 - INT : 수집 크기
최대 - INT : 최대 수를 문서의

+0

Casbah에서 컬렉션을 만들지 않고 Mongo에 연결할 수 없다는 뜻인가요? –

+0

@AntonAshanin 당신은 (몽고 로그를 확인할 수 있습니다.)하지만, 몽고에 연결하고 아직 존재하지 않는 콜렉션에 숨어있는 점은 무엇입니까? –

+0

어떻게 데이터베이스와 컬렉션을 만들지 않고 Mongo가 실행되고 있는지 Casbah와 점검 할 수 있습니까? 또한 누군가가 나를 단순한 엔드 - 투 - 엔드 Casbah 애플리케이션 예제로 안내 할 수 있다면 좋을 것입니다. 감사! –