问题标签 [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.
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 处理。有谁知道为什么?
mongodb - 使用 ReactiveMongo 在 MongoDB 中搜索文本
我在 MongoDB 中有一些文档,如下所示:
我希望能够搜索集合中的所有此类文档并返回所有包含描述中单词“fox”的文档。ReactiveMongo 有可能吗?谢谢
file-upload - 使用 ReactiveMongo 和 GridFS 在 PlayFramework 中调整上传图像的大小
我正在使用 Play Framework 和 ReactiveMongo DB 将上传的文件存储在 GridFS 中。这是代码:
如何添加另一个具有属性“大小”->“拇指”的文件,该文件具有相同的上传图像但已调整大小以适应小拇指?我这里有两个问题:
- 如何在一次上传时将 2 个文件存储在 GridFS 中?
- 如何在存储之前调整图像大小?
感谢您的回答。这是一个很好的方向。我一直在寻找 GridFS 的解决方案。这是我最终得到的结果:
mongodb - ReactiveMongo & JSON4S
我正在使用 JSON4S 解析从外部 API 获得的一些 JSON 字符串。
无论如何,有没有像 playreactivemongo JSONCollection 或 sprest 中的 sprest 到响应式 mongo 转换器那样获得 JSON 实体?
它易于使用带有标准 Mongo Casbah 库的 JSON4S,例如builder.insert(JObjectParser.parse(obj))
但我真的希望能够用reactivemongo 做到这一点。
mongodb - ReactiveMongo:使用光标 [BSONObjectID] 查找查询
我使用 ReactiveMongo 的查询:
这意味着为每个找到的文档只返回一个字段“subscriberId”。最终的输出类型应该是 Future[Seq[BSONObjectID]]
但它失败了:
失败(java.lang.RuntimeException: JsError(List((,List(ValidationError(unhandled json value,WrappedArray()))))))
任何想法如何做到这一点?
提前致谢
scala - 如何让 Play 打印所有错误
在我们的 Scala、Play、Reactivemongo 中,我们在异常处理方面遇到了一个大问题——当出现错误时,在 Iteratee/Enumeratee 或 Actor 系统中,Play 只是将其吞下,而不会将任何错误记录到输出中。所以我们实际上需要猜测这个错误可能发生在哪里,以及为什么会发生。
我们让 Globals 覆盖,总是打印错误,并指定logger.root=TRACE
,但仍然没有看到输出,我们可以从中分析我们的问题。
如何强制让 Play 打印所有错误
playframework-2.2 - 在不使用 gridFSBodyParser(gridFS) 的情况下以非阻塞方式上传文件
插件 play-reactivemongo 提供了一种上传文件的简单方法:
不幸的是,这个解决方案不适合我,因为:
- 我希望只有我的 DAO 层依赖于响应式 mongo。
- 仅当用户经过身份验证(使用 SecureSocial)并使用某些用户的属性作为检查和元数据时,我才需要保存文件。
- 如果没有用户通过身份验证,则根本不应解析请求正文(另请参阅此问题)。
这将是大势所趋
不幸的是,似乎无法从请求正文的解析中获取枚举器。唯一的方法似乎是为 Action 提供一个解析器和一个 Iteratee,它将与被解析的主体一起提供。
我无法弄清楚如何以反应方式实现它(不使用临时文件或将正文存储在内存中)。有可能吗?
playframework - 使用 reactivemongo 直接从 GridFS 提供文件
我正在使用 Play Framework 2.2.1 和 Scala 2.10。我想使用reactivemongo直接从gridFS读取文件,这样我就可以在浏览器中使用URL打开它,例如http://www.example.com/playgridfs/filename
我怎样才能做到这一点?
scala - 在 scala trait 中实例化 val 是正确的吗?
我正在从事喷雾、akka、scala、reactivemongo 项目,我有这个特点
我也有 Dao 的对象来使用该特征,如下所示:
在我的persistencemanager trait 中实例化这些数据库值是正确的吗?它真的很好用。
谢谢!
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())))))]