问题标签 [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.

0 投票
2 回答
712 浏览

mongodb - Mongo Scala Driver 2.1 - 案例类错误

这是我第一次使用 Mongo Scala 驱动程序(2.1 版),我注意到在处理我的一些案例类时出现了奇怪的行为——其中一些在classToCaseClassMap解码数据时没有被识别为其中一个走错了路,并以java.util.NoSuchElementException: head of empty list第 204 行的错误结束,org.mongodb.scala.bson.codecs.macrocodecs.MacroCodec因为fieldClazzTypeArgs列表为空。

这是堆栈跟踪的前三分之一左右:

我的应用程序模拟某人的 Google 日历。这是我的案例课程:

这是一个屏幕截图的链接,显示了classToCaseClassMap错误发生时的内容。

屏幕截图显示了一个包含六个项目的地图,包括我的四个案例类:GoogleCalendarEventGoogleWhoGoogleDateTimeGoogleEventExtendedProperties。只有第一个 ( GoogleCalendarEvent) 被正确识别为案例类。

我尝试制作有问题的课程sealed,但这没有帮助。

以下是我创建 CodecRegistry 的方法:

是显示数据访问代码以及我如何使用它的要点(在 sbt 控制台或 Intellij IDEA Scala 控制台中)。

我正在重构的应用程序在 Reactive Mongo 版本 0.11.7 上运行良好,但我们需要将其迁移到官方支持的 Mongo Scala 驱动程序才能使用新的 Atlas 数据库。

0 投票
0 回答
216 浏览

mongodb - 具有非默认 akka 执行上下文的 Mongo scala 驱动程序 2.0

我已经开始在我们的 scala akka-http 项目中使用 mongo scala 驱动程序,它有很大的帮助,尤其是 v2.0.0 中的案例类支持非常好。我试图围绕如何使用具有非默认执行上下文的mongo scala驱动程序来使用observeOn

由于我们的 java 库依赖项的性质,我使用阻塞调用从 MongoDB 获取结果,如此处所示Helpers。我已经使用如下所示的 observeOn 稍微修改了 MongoDB Helpers的结果和 headResult 函数,但我注意到一些奇怪的竞争条件,我不知道如何解决。

结果函数不会返回我期望的所有记录,并且每次行为都不同,除非我使用只允许一个线程的 akka PinnedDispatcher 。由于它是一个阻塞操作,我想使用一个非默认的 akka 调度程序,这样它就不会阻塞我的 HTTP 请求。如果有人可以帮助我,我真的很感激。

我的示例数据库客户端代码:

0 投票
1 回答
1357 浏览

mongodb - 使用 Mongo Scala 驱动程序宏读取具有附加嵌套字段的文档

是否可以使用mongo-scala-driver 宏从 mongo db 中读取包含案例类中指定字段的附加字段的文档?

我希望在反序列化时忽略案例类中未指定但在文档中指定的字段。但是会抛出异常。由于 mongo db 的模式较少的方法,不可能指定案例类中的总字段集。

我要反序列化的文档看起来像这样的 json:

我希望以下最小示例可以工作:

但是会抛出以下异常:

有没有办法解决已解决的问题?

0 投票
1 回答
970 浏览

mongodb - 如何在 java/scala 中使用 inc 运算符创建 Decimal128 字段

我有以下文档结构:

我想要什么:当不存在的字段增加时,使用 NumberDecimal值创建该字段。

我用 scala 驱动程序尝试过,但不能这样做:

因为Updates.inc(k,v)需要NumberDecimal128不是Number

我认为问题不在驱动程序上,而在我的逻辑上。

如何使用 scala/java 驱动程序实现我的案例?

0 投票
1 回答
948 浏览

mongodb - Scala脚本等待mongo完成任务

我正在编写一个简单的基于 scala 的脚本,它应该将一些数据插入到 Mongo 集合中。问题是,该脚本在 mongo 完成它的任务之前退出。考虑以下脚本,处理该问题的惯用/最佳方法是什么:

上面的脚本在执行时会产生以下错误:

但是,如果我Thread.sleep(3000)最后添加它就可以了。

0 投票
0 回答
204 浏览

mongodb - 如何使用 mongo-scala-driver 保存 Set?

我尝试使用 Set 类型的字段保存案例类。像这样的东西:

当我从 db 获取 MyObject 时,出现此错误:

蒙哥版本:

知道如何强制设置类型为 mongo 驱动程序吗?

0 投票
3 回答
1369 浏览

mongodb - Mongo Scala 驱动程序 - 无法插入数据库

我正在练习一个需要数据库连接的项目,我正在使用 Play Framework 结合 Scala 和 MongoDB。

我也在使用 Mongo-scala-driver 并遵循文档。我写了完全相同的代码:

没有任何东西被插入到数据库中,我从日志中得到的唯一结果是:

我一直在寻找类似主题的stackoverflow,但我发现的所有内容都对我不起作用。

0 投票
1 回答
206 浏览

mongodb - Mongo scala驱动程序:无法添加浮点值

我遇到了奇怪的问题scala mongo driver。当我执行以下部分时:

它给了我以下错误:

但是当我执行以下操作时:

有用。不过我p._2的是Float

在此处输入图像描述

那么这里的问题是什么?

更新

我将p._2类型从Floatto更改Double为有效。仍然很奇怪。

0 投票
2 回答
1201 浏览

json - 如何解析对象数组使其适合 Bson 文档 - Mongo Scala 驱动程序

我正在使用 Scala、Play 框架和 Mongo scala 驱动程序来设置数据库。我有 json 数据来了,我想将它设置在数据库中,但我不知道如何格式化对象数组以便可以传递它。

这是 Json :

如您所见,“assoc”是一个对象数组。对于我所做的所有其他领域:

如何在 Bson 文档中将其解析为可接受的?

0 投票
0 回答
543 浏览

json - 如何将文档解析为 Json - Mongo scala 驱动程序

我正在使用 play 框架和 mongo scala 驱动程序来设置数据库,我需要将查询结果解析到 Json 以将其发送到前端:

如何解析其结果?