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

0 投票
1 回答
810 浏览

mongodb - 处理 BSONDocument 中的可选值

我对 BSONDocuments 在应用程序中处理可选值的方式有困难。我从 Typesafe 激活器(play/reactivemongo/angular)的“最终”模板开始。我创建了一个表示要进入 Mongo 的对象的案例类,其中一些值是选项:

我遇到的问题是可选值作为数组写入 Mongo。例如,使用“Acme”作为制造商,88 作为 minPrice,None 作为 maxPrice。Mongo 中的 Printjson 显示这看起来像

从数据库值创建对象时,我无法将 Mongo 中的数组值作为简单的选项值读回。

尽管 bsondoc.get("minPrice") 确实具有值 Some(BSONDocument()),但 getAs() 语句始终返回 None

我打印了发送到 Mongo 进行更新的数据,果然,创建修饰符语句的代码将可选值作为数组发送,可以是空的,也可以包含一个元素。

这个漂亮的打印为

是否有正确的方法来处理这些可选值?

为了增加神秘感,我将相同的修饰符创建代码放在工作表中(在 Eclipse 中),我得到了不同的结果:

可选值没有数组。如果它们没有,它们就不会出现。这对我的应用程序来说可以正常工作,但有些东西正在改变应用程序内可选元素的 BSONDocument 处理。有谁知道为什么?

0 投票
2 回答
1419 浏览

mongodb - 使用 ReactiveMongo 在 MongoDB 中搜索文本

我在 MongoDB 中有一些文档,如下所示:

我希望能够搜索集合中的所有此类文档并返回所有包含描述中单词“fox”的文档。ReactiveMongo 有可能吗?谢谢

0 投票
1 回答
1103 浏览

file-upload - 使用 ReactiveMongo 和 GridFS 在 PlayFramework 中调整上传图像的大小

我正在使用 Play Framework 和 ReactiveMongo DB 将上传的文件存储在 GridFS 中。这是代码:

如何添加另一个具有属性“大小”->“拇指”的文件,该文件具有相同的上传图像但已调整大小以适应小拇指?我这里有两个问题:

  • 如何在一次上传时将 2 个文件存储在 GridFS 中?
  • 如何在存储之前调整图像大小?

感谢您的回答。这是一个很好的方向。我一直在寻找 GridFS 的解决方案。这是我最终得到的结果:

0 投票
2 回答
759 浏览

mongodb - ReactiveMongo & JSON4S

我正在使用 JSON4S 解析从外部 API 获得的一些 JSON 字符串。

无论如何,有没有像 playreactivemongo JSONCollection 或 sprest 中的 sprest 到响应式 mongo 转换器那样获得 JSON 实体?

它易于使用带有标准 Mongo Casbah 库的 JSON4S,例如builder.insert(JObjectParser.parse(obj))

但我真的希望能够用reactivemongo 做到这一点。

0 投票
1 回答
948 浏览

mongodb - ReactiveMongo:使用光标 [BSONObjectID] 查找查询

我使用 ReactiveMongo 的查询:

这意味着为每个找到的文档只返回一个字段“subscriberId”。最终的输出类型应该是 Future[Seq[BSONObjectID]]

但它失败了:

失败(java.lang.RuntimeException: JsError(List((,List(ValidationError(unhandled json value,WrappedArray()))))))

任何想法如何做到这一点?

提前致谢

0 投票
3 回答
206 浏览

scala - 如何让 Play 打印所有错误

在我们的 Scala、Play、Reactivemongo 中,我们在异常处理方面遇到了一个大问题——当出现错误时,在 Iteratee/Enumeratee 或 Actor 系统中,Play 只是将其吞下,而不会将任何错误记录到输出中。所以我们实际上需要猜测这个错误可能发生在哪里,以及为什么会发生。

我们让 Globals 覆盖,总是打印错误,并指定logger.root=TRACE,但仍然没有看到输出,我们可以从中分析我们的问题。

如何强制让 Play 打印所有错误

0 投票
1 回答
309 浏览

playframework-2.2 - 在不使用 gridFSBodyParser(gridFS) 的情况下以非阻塞方式上传文件

插件 play-reactivemongo 提供了一种上传文件的简单方法:

不幸的是,这个解决方案不适合我,因为:

  • 我希望只有我的 DAO 层依赖于响应式 mongo。
  • 仅当用户经过身份验证(使用 SecureSocial)并使用某些用户的属性作为检查和元数据时,我才需要保存文件。
  • 如果没有用户通过身份验证,则根本不应解析请求正文(另请参阅此问题)。

这将是大势所趋

不幸的是,似乎无法从请求正文的解析中获取枚举器。唯一的方法似乎是为 Action 提供一个解析器和一个 Iteratee,它将与被解析的主体一起提供。

我无法弄清楚如何以反应方式实现它(不使用临时文件或将正文存储在内存中)。有可能吗?

0 投票
0 回答
597 浏览

playframework - 使用 reactivemongo 直接从 GridFS 提供文件

我正在使用 Play Framework 2.2.1 和 Scala 2.10。我想使用reactivemongo直接从gridFS读取文件,这样我就可以在浏览器中使用URL打开它,例如http://www.example.com/playgridfs/filename

我怎样才能做到这一点?

0 投票
1 回答
174 浏览

scala - 在 scala trait 中实例化 val 是正确的吗?

我正在从事喷雾、akka、scala、reactivemongo 项目,我有这个特点

我也有 Dao 的对象来使用该特征,如下所示:

在我的persistencemanager trait 中实例化这些数据库值是正确的吗?它真的很好用。

谢谢!

0 投票
1 回答
629 浏览

playframework - 播放响应式 mongo:更新操作

我正在使用 play 2.2.3 和 play-reactivemongo 0.10.2(递归地使用 reactivemongo 0.10.0)开始一个项目。

我已经阅读了 reacticemongo 和 play-reactivemongo 的文档以及我在 github 上找到的一些项目,但我不知道如何以最干净的方式管理 mongo 的 id。

因为懒所以决定使用自动生成 json reader 和 writer(如https://github.com/ReactiveMongo/Play-ReactiveMongo所示)

在同一个文档中,还有一个很好的示例,说明了如何在集合中插入和查找文档。但它并没有说关于更新的事情。

当您必须更新文档时,您如何处理“_id”?

我被问到一个例子。这是一个 https://github.com/manuelleduc/bookmarks/tree/stackoverflow-example-1 当我调用 /bookmarks 路由时出现运行时异常。 [RuntimeException: JsError(List((/_id,List(ValidationError(error.expected.jsstring,WrappedArray()))), (/tags,List(ValidationError(error.path.missing,WrappedArray())))))]