用于Scala的Casbah MongoDB工具包:无法创建连接和集合

时间:2013-03-21 20:54:14

标签: mongodb scala casbah

我正在尝试使用Scala的Casbah MongoDB工具包。我在localhost上运行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()
}
  }

}

我错过了什么? 谢谢!

1 个答案:

答案 0 :(得分: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)

可能的选择:

capped - boolean:如果集合上限为
size - int:集合大小
max - int:最大文档数