当前位置: 首页 > 知识库问答 >
问题:

使用mongo-scala-driver在Scala中打印来自Mongodb的查询结果

邴俊友
2023-03-14

我试图用Scala打印MongoDB查询的结果

val mongoClient: MongoClient = MongoClient()
val database: MongoDatabase = mongoClient.getDatabase("tableScala")
val collection: MongoCollection[Document] = database.getCollection("tableScala")

collection.find().printResults()
name := "scalaMongoDriver"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "1.2.0-beta1"

尝试使用以下方法手动打印:

collection.find().subscribe(
      (user: Document) => println(user.toJson()),                         // onNext
      (error: Throwable) => println(s"Query failed: ${error.getMessage}"), // onError
      () => println("Done")                                               // onComplete
    ) 

产生了以下信息:

信息:ReadPreferenceServerSelector{ReadPreference=Primary}没有从群集描述中选择服务器ClusterDescription{type=Unknown,ConnectionMode=Single,ServerDescriptions=[ServerDescription{address=localhost:27017,type=Unknown,state=Connectioning}]}。超时前等待30000毫秒

有什么方法可以在控制台中查看检索到的结果吗?

共有1个答案

杜辉
2023-03-14

必须包含helpers.scala文件才能使用printresults()函数。它位于他们的github存储库helpers.scala中。

这些helper函数等待observable完成后才打印值。

 类似资料:
  • mongo-scala-driver 是 MongoDB 的 Scala 客户端开发包。

  • 我在MongoDB中有以下文档: 我正在使用scala代码中的mongo-scala-driver来查询服务器。如何将mapped_column转换为scala字符串变量?我尝试使用以下代码:

  • 有人能提供链接或代码片段吗? 附注:在官方mongodb站点中有同步事务示例,但我需要在Scala中的异步、非阻塞事务示例。

  • 我可以编译(带有一个我不理解的警告),但是我在尝试运行程序时得到一个ClassNotFoundException。 知道我做错了什么吗?

  • 我正在尝试使用Scala中的Spark SQL查询Cassandra数据。 并抛出错误: org.apache.spark.sql.AnalysisException:找不到表或视图:.;第1行第14位;'Project[*]+-'UnresolvedRelation. 谢谢你。

  • 如何在Grafana的同一面板中使用来自不同查询的prometheus查询结果。 实例 我在格拉法纳有3个普罗米修斯查询,