连接至 MongoDB
检索MongoDB Atlas部署的连接字符串后,您可以从Scala应用程序连接到该部署并查询Atlas示例数据集。
1
创建应用程序文件
scala-quickstart
导航到您在本指南的 下载和安装步骤中创建的 目录,并创建src/main/scala/quickstart
个嵌套目录。
选择与操作系统对应的标签页并运行以下命令,在 quickstart
子目录中创建 Main.scala
文件:
cd src/main/scala/quickstart touch Main.scala
cd src/main/scala/quickstart type nul > Main.scala
2
添加辅助方法
将以下Helpers.scala
文件从 驾驶员源代码 添加到 src/main/scala/quickstart
目录:
package quickstart import java.util.concurrent.TimeUnit import scala.concurrent.Await import scala.concurrent.duration.Duration import org.mongodb.scala._ object Helpers { implicit class DocumentObservable[C](val observable: Observable[Document]) extends ImplicitObservable[Document] { override val converter: (Document) => String = (doc) => doc.toJson } implicit class GenericObservable[C](val observable: Observable[C]) extends ImplicitObservable[C] { override val converter: (C) => String = (doc) => Option(doc).map(_.toString).getOrElse("") } trait ImplicitObservable[C] { val observable: Observable[C] val converter: (C) => String def results(): Seq[C] = Await.result(observable.toFuture(), Duration(10, TimeUnit.SECONDS)) def headResult() = Await.result(observable.head(), Duration(10, TimeUnit.SECONDS)) def printResults(initial: String = ""): Unit = { if (initial.length > 0) print(initial) results().foreach(res => println(converter(res))) } def printHeadResult(initial: String = ""): Unit = println(s"${initial}${converter(headResult())}") } }
此文件允许您访问权限用于打印查询结果的辅助方法。
3
添加应用程序代码
将以下代码复制并粘贴到Main.scala
文件中,该文件将查询sample_mflix
数据库中的movies
集合:
package quickstart import org.mongodb.scala._ import org.mongodb.scala.model.Filters._ import Helpers._ object Main { def main(args: Array[String]): Unit = { val mongoClient = MongoClient("<connection string>") val database: MongoDatabase = mongoClient.getDatabase("sample_mflix") val collection: MongoCollection[Document] = database.getCollection("movies") val filter = equal("title", "The Shawshank Redemption") collection.find(filter).printResults() mongoClient.close() } }
4
指定连接字符串
将 <connection string>
占位符替换为从本指南的创建连接字符串步骤复制的连接字符串。
完成这些步骤后,您将拥有一个Scala应用程序,它可连接到MongoDB 部署、对示例数据运行查询并返回匹配的文档。
注意
如果您在该步骤中遇到问题,请在 MongoDB 社区论坛中寻求帮助,或使用本页右侧或右下角的 Rate this page(本页内容评级)标签页提交反馈。