问题标签 [reactivemongo]
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 - 使用 ReactiveMongo 和 Scala 插入许多记录
我正在为使用 ReactiveMongo 的 MongoDB 编写 DAO Actor。我想实现一些非常简单的 CRUD 操作,其中包括一次 upsert 多条记录的能力。由于我有一个反应式应用程序(基于 Akka 构建),因此具有幂等操作对我来说很重要,因此我需要该操作是 upsert,而不是 insert。
到目前为止,我有以下(丑陋的)代码可以做到这一点:
是否有一种开箱即用的方法可以单独使用 reactivemongo API 一次更新许多记录?
我是 MongoDB 初学者,所以这对许多人来说可能听起来微不足道。任何帮助表示赞赏!
mongodb - 如何在 ReactiveMongo 模型中表示 GeoJSON 点?
为了在 MongoDB 中进行地理空间查询,具有位置(带有2d
或2dsphere
地理空间索引)的文档应如下所示:
我对 Scala、ReactiveMongo 和 Play 框架非常陌生,但在我看来,使用这样一个位置的一个明显方法是通过一个案例类,例如:
网站 API 处理的 JSON 表示应该类似于:
现在,我不知道如何告诉我的 ReactiveMongo 模型在这些格式之间进行序列化/反序列化。
我的控制器如下所示:
我尝试使用 PointWriter 和 PointReader。这是我的models.scala:
当我调用控制器操作时createCC
,我希望新创建的文档有一个格式正确的 Point 对象,但我实际得到的是这样的:
所以我尝试使用PointWriter
并PointReader
告诉 ReactiveMongo 如何将这样的Point
对象写入数据库根本没有效果。
谁能帮我理解我必须做什么?
(我来自 PHP 背景,并试图让我的头脑围绕 Scala ......)
更新: 感谢 tmbo 的回答,我想出了这位作家:
scala - 如何在 Scala 中解析这个“漂亮”的 BSON?
在我们的项目中,我们使用 Scala 和 Reactivemongo。(我对两者都很陌生)当你在控制台打印一个“漂亮”的 Bson 时,它看起来像这样:
我需要能够将它从控制台解析回对应的案例类。
请问有什么帮助吗?
mongodb - 如何创建一个 play.api.libs.iteratee.Enumerator 在给定枚举器的项目之间插入一些数据?
我使用带有 ReactiveMongo 的 Play 框架。大多数 ReactiveMongo API 都是基于 Play 的Enumerator
。只要我从 MongoDB 中获取一些数据并“按原样”异步返回,一切都很好。数据的转换,如将 BSON 转换为字符串,使用Enumerator.map
是显而易见的。
但是今天我遇到了一个问题,该问题归结为以下代码。我浪费了半天的时间试图创建一个Enumerator
消耗给定Enumerator
项目并在它们之间插入一些项目的项目。重要的是不要一次加载所有项目,因为它们可能有很多(代码示例只有两个项目“1”和“2”)。但在语义上它类似于mkString
集合。我确信它可以很容易地完成,但我能提供的最好的 - 就是这段代码。创建Enumerator
using的非常相似的代码Concurrent.broadcast
非常适合 WebSockets。但在这里,即使这样也行不通。HTTP 响应永远不会回来。当我查看时Enumeratee
,它看起来应该提供这样的功能,但我找不到解决问题的方法。
PS试图打电话chan.eofAndEnd
,Iteratee.mapDone
而chunked(enums >>> Enumerator.eof
不是chunked(enums)
- 没有帮助。有时响应会返回,但不包含正确的数据。我想念什么?
json - ReactiveMongo:如何将列表反序列化为选项
下面是一个代表用户的案例类,它的伴生对象提供了一个BSONDocumentWriter
和BSONDocumentReader
来序列化/反序列化到/从 BSON:
上面的代码无法编译,因为我User.addresses
总是Option
收到以下错误:
如果输入 BSON 包含addresses
,如何将其反序列化为Option[List[BSONObjectID]]
?
mongodb - 带有 SSL 的 ReactiveMongo
我正在尝试设置一个 Play 应用程序,该应用程序将使用 ReactiveMongo Scala 驱动程序连接到 mongoDB。我已经让它工作了,但最终想连接到一个使用 SSL 支持构建的 mongoDB。ReactiveMongo 是否提供通过 SSL 连接到 mongoDB 的能力?
过去,我能够通过 SSL 与 Casbah 连接
由于异步非阻塞性质,我想使用 ReactiveMongo,但如果这是我唯一的选择,我可以使用 Casbah。
scala - Scala - 找到所需的单元:play.api.mvc.SimpleResult
我在这里真的很困惑,我可能遗漏了一些明显的东西,所以如果有人能指出我正确的方向,那就太好了。
我有以下函数,它返回 SimpleResult 类型的未来,但它有一个 unit 。我不确定为什么会这样说,因为我正在映射 futureList 结果
编辑
根据 Marth 给出的建议,我已将其更改为以下内容
Eclipse 对以下内容发出警告
类型不匹配; 发现:scala.concurrent.Future[play.api.mvc.SimpleResult] 需要:play.api.mvc.SimpleResult
尽管该函数旨在返回 scala.concurrent.Future[play.api.mvc.SimpleResult]
json - 播放:如何在向 MongoDB 写入/读取 JSON 时对其进行转换
这是我想向 MongoDB 写入/读取的简单 JSON:
在将其存储在 MongoDB 中之前,"ff59ab34cc59ff59ab34cc59"
必须将其转换为 anObjectID
并重id
命名为_id
... 所以给出以下内容Reads
,我该如何实现?
当然,我的 . 格式也需要相反的内容Writes
,即将 an 重命名_id
为id
并将其转换ObjectID
为纯文本格式"ff59ab34cc59ff59ab34cc59"
。
mongodb - ReactiveMongo:插入新文档时如何处理数据库错误
我有一个 MongoDB 集合,我在其中存储User
这样的文档:
用户必须是唯一的电子邮件地址,所以我为该email
字段添加了一个索引:
这是我插入新文档的方式:
如果发生错误,上面的代码会抛出一个IllegalArgumentException
并且调用者能够相应地处理它。但是如果我recover
像这样修改部分......
...我不再得到一个IllegalArgumentException
,但我得到了这样的东西:
...并且调用者不再能够按应有的方式处理异常。现在真正的问题是:
- 如何处理该部分中的各种错误类型(即由 提供的错误类型
LastError
)recover
? - 如何确保调用者获得预期的异常(例如
IllegalArgumentException
)?