问题标签 [mongo-scala-driver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - mongo-scala-driver:如何在 Observable 中捕获部分结果和解码错误?
在使用查找操作时,有没有办法将新出现的解码异常和数据捕获为值?
在解码所有检索到的 BSON 时,有些可能具有无效属性,并且无法解码为域对象。
我的想法是:
我注意到,当一个值无法解码时,整个操作都会失败。我在跳跃,我可以以某种方式积累错误和有效数据。
java - mongo-scala-driver:返回结果的迭代器
我正在使用Mongo Scala Driver从 MongoDb 读取文档。我有以下方法返回Future[List[T]]
问题:
而不是一个列表,有没有办法,这个方法可以返回Iterator[T]
或Future[Iterator[T]]
?
该文档提到了关于iterating the results via the subscribe method
,但我找不到任何具体的实现或使用此subscribe
方法来实现我的用例的示例。
json - 使用 Scala 语言的 MongoDB
我是 MongoDB 和 Scala 语言的新手
我正在使用scala语言在本地连接mongodb
我正在使用以下依赖项
// https://mvnrepository.com/artifact/org.mongodb.scala/mongo-scala-driver
libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "4.2.3"
我试过的
上面的代码以以下格式返回数据
我也试过
我也尝试过printResult()
方法printHeadResult()
,但没有一种方法有效
请帮助提前谢谢
mongodb - 将 MongoDB 查询转换为 Scala
我正在尝试将以下 MongoDB 查询转换为等效的 Scala
目前我有
然而,$multiply
和$slice
文件都是无效的,因为Document
只需要 Seq 的 2 个项目?
我不确定如何创建Document
对象以传递给不具有$multiply
和$floor
?等功能的运算符的查询创建者。
mongodb - 案例类的继承元素没有使用 scala mongo 驱动程序持久化到 mongodb
我想使用 mongo-scala-driver 2.7.0 坚持使用 mongo db。我的案例类看起来有点如下
如您所见,针对应用的元数据可能因应用(App1 和 App2)而异。因此,不可能有一个可供所有应用程序使用的单一元数据案例类。因此,我决定为每个应用程序的元数据创建一个案例类,如上所示,并从父 trait 扩展它们。我试图在此处遵循 scala mongo 驱动程序的文档和此处的另一个 stackoverflow 问题来实现此目的。如您所见,我_t
在密封特性中放置了一个字段。根据文档,这是必需的,因为它将在将文档解码和编码到 Bson 和从 Bson 编码时用作提示。
这是我的编解码器的外观
我坚持使用简单
保存在 mongo db 中的文档缺少_t field
内部元数据对象,根据文档,这是必要的,以便 Mongo Scala Driver 将 bson 转换为正确的元数据案例类,因此当我尝试使用获取文档时
我在错误消息中收到以下内容
Could not decode sealed case class. Missing '_t' field.
但是,如果我将 _t 字段显式添加到元数据对象内的 mongo 中,并使用它应该解码到的类的名称,那么一切正常,并且在 get 操作期间我得到了正确的案例类。我不明白为什么虽然使用 mongo insert ,但_t field
没有插入
mongodb - 如何使用 mongo-scala-driver 在查询中复制此 mongodb 正则表达式?
我可以使用此查询直接查询 mongodb,但是在使用Filters#in{key: {$in: [/faq/]}}
时如何复制它?
in("key", Seq("/faq/"))
不起作用,因为它作为字符串传递。
mongodb - mongo-scala-driver 不插入
我大约有这个数据库包装类:
问题是一些插入成功,而其他插入静默失败。
例如,在组对象中,此命令成功:
但是,在posts对象中,插入永远不会成功(这里,id字段不是主键,_id键是自动生成的,与id不同):
问题是:为什么对于帖子集合,插入永远不会成功?
我的想法:
- 也许 db.getCollection 命令会在某种程度上取消配置其他集合,我需要在 insertOne 命令之前调用 db.getCollection 吗?这是不现实的。
- 我以为insertOne成功之前方法就退出了,但是对于groups集合,没有问题。
- 我尝试使用此命令执行等待,仍然没有插入帖子:
Await.result(collection.insertOne(doc).toFuture, Duration.Inf)
- 我发现一些关于需要“订阅”可观察的内容以使冷蒸汽开始运行的内容,但我认为这仅与旧版本有关。
配置:Linux Ubuntu 18.04、Scala 2.12.14、Mongo-Scala-Driver 4.3.1、MongoDB 5.0.2。
期待您的回复。
mongodb - scala mongodb 文档 getList
我想从给定的 mongodb 文档中获取组属性作为 Seq[Int] 。怎么做?getList方法捕获运行时异常,我想了解并修复它。
我尝试了这种编译方式,但出现运行时错误“ Caused by: java.lang.ClassCastException: List element cannot be cast to scala.Int$ ”
一些 sbt 库依赖项:
设置代码:
注释:结果是 Seq[Document] 类型,n 是 Document 类型。
VSCODE 中的 getList 悬停描述: