build.sbt
"org.mongodb.scala" %% "mongo-scala-driver" % "2.3.0"
MongoTest.scala
package interface.output
import org.mongodb.scala._
import org.scalatest.FunSuite
class MongoTest extends FunSuite {
test("ConnectionTest") {
val mongoClient: MongoClient = MongoClient("mongodb://root:123456@localhost/?authSource=admin")
val database: MongoDatabase = mongoClient.getDatabase("admin")
val collection: MongoCollection[Document] = database.getCollection("LabelCount_TEST")
import org.mongodb.scala.model.Filters._
import interface.output.Helpers._
//equal 會用到 org.mongodb.scala.model.Filters._ ,printHeadResult() 會用到 interface.output.Helpers._
collection.find(equal("labelindex", 96)).first().printHeadResult()
}
test("insertOneTest") {
val mongoClient: MongoClient = MongoClient("mongodb://root:123456@localhost/?authSource=admin")
val database: MongoDatabase = mongoClient.getDatabase("admin")
val collection: MongoCollection[Document] = database.getCollection("LabelCount_TEST")
val doc: Document = Document("labelindex" -> 99999,
"createdAt" -> Calendar.getInstance().getTime(),
"count" -> 88888,
"updatedAt" -> Calendar.getInstance().getTime()
)
import interface.output.Helpers._
collection.insertOne(doc).results()
}
test("insertManyTest") {
val mongoClient: MongoClient = MongoClient("mongodb://root:123456@localhost/?authSource=admin")
val database: MongoDatabase = mongoClient.getDatabase("admin")
val collection: MongoCollection[Document] = database.getCollection("LabelCount_TEST")
val doc: Document = Document("labelindex" -> 99999,
"createdAt" -> Calendar.getInstance().getTime(),
"count" -> 88888,
"updatedAt" -> Calendar.getInstance().getTime()
)
import interface.output.Helpers._
val documents: IndexedSeq[Document] = (1 to 10) map { i: Int => Document("i" -> i) }
documents.foreach(println(_))
collection.insertMany(documents).results()
}
}
參考資料
scala-mongodb-driver
scala-mongodb-driver-github