问题标签 [play-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 投票
0 回答
39 浏览

scala - Reactive Mongo & Play 模式:处理单元/无记录

我正在使用带有 PlayFramework 的 ReactiveMongo,并且在我的 DAO 中有以下代码:

其中Credentials定义为:

在使用 DAO 方法的服务类中find,我有以下代码:

现在我的问题如下:处理 DAOfind方法没有返回结果的情况的最佳方法是什么?在上面的示例中,添加 aCase None会将方法的返回类型更改为 Object。因此,如果我要在控制器或任何其他类中使用它,它会增加复杂性(例如映射/案例/转换)。

提前致谢!

0 投票
0 回答
66 浏览

scala - 如何在 ReactiveMongo 0.11.11 和 Play 2.5 中用 DI 替换电流

我使用almeidap的DAO设计 GitHub Gist作为我的数据库层的示例。不幸的是,自 Play 2.5 版以来已弃用,所以我不能使用:current

也不

由于我无法注入reactiveMongoApi特征,我想知道如何解决这个问题。尽管不鼓励使用已弃用的方法,但我无法启动我的应用程序,因为我的There is no started application启动代码会在应用程序启动时将虚拟数据插入我的数据库中导致异常。

0 投票
0 回答
279 浏览

scala - ReactiveMongo Scala DAO 模式

我的 Playframework 项目中有以下 DAO、服务对象和控制器模式:

CredentialsDAO.scala

CredentialsService.scala

在我的控制器中:

问题:从函数式编程的角度来看,这种“模式”可以吗?特别是,我对以下行感到困扰CredentialsService.scala

我是 Scala 的新手,但我认为_.get在上面的行中有更好的处理方法?任何建议/想法将不胜感激。

提前致谢。

0 投票
1 回答
396 浏览

scala - 在 ReactiveMongo 中获取集合的惯用方式

我正在使用 Play 2.5.4 和 ReactiveMongo 编写一个 Play/Scala 应用程序。基于这个例子,我正在使用

但是,db现在已弃用。弃用警告建议我使用database,但是这个返回 aFuture所以所有操作都必须被映射。由于 ReactiveMongo 的操作也返回Futures,这似乎是多余的......获取集合的正确方法是什么?(或者,我是否完全错过了一些东西,Future[Future[Future[A]]]是未来吗?)

0 投票
1 回答
768 浏览

scala - 播放框架:无法将参数 companyId 解析为 BSONObjectID:错误的 ObjectId

我正在使用带有反应式 mongo 驱动程序的播放框架。为了在我们的路由文件中处理反应式 mongo BSONObjectId,我正在创建以下活页夹:

在路由中,我很容易将我的 id 路由为路径参数,如下例所示:

BSONObjectId很容易用我的请求处理程序路径参数映射。但是当我在上述路线之后使用以下路线时,如下所示:

我得到以下信息BadRequest

但是当我如下切换路线时:

服务成功运行。我仍然不知道实际问题是什么。这是播放框架问题,还是我的代码有问题?

0 投票
1 回答
1587 浏览

mongodb - 如何在 ReactiveMongo 中使用聚合

因此,我需要按对象数组中的字段对 MongoDB 上的集合进行排序。

我有

我想要实现的是选择“FirstKind”“Description1”或“SecondKind”“Description2”并按字段数据对集合进行排序。我在 MongoDB 上找到了一个解决方案,方法是:

我现在的问题是如何将它翻译成 Scala 上的 ReactiveMongo。我一直试图理解这个文档:http ://reactivemongo.org/releases/0.11/documentation/advanced-topics/aggregation.html但我真的很困惑。有没有人在 Scala 上使用过聚合和 ReactiveMongo ?谢谢!

0 投票
1 回答
1371 浏览

mongodb - 使用 Play 框架、ReactiveMongo 批量插入/插入多个

我正在使用 Play Framework 2.5.0 和 ReactiveMongo 构建一个应用程序,我花了很多时间,卡住了,在大多数网络语言中很容易做到的事情上。

那是一次插入许多文档。为此,我必须使用 ReactiveMongo 函数bulkInsert

我发现这个 google group有一个非常简单的例子,但是它是从 2013 年开始的,现在签名改变了

所以在这里我试图举这个例子并找到一种将 Enumerator 转换为 Stream 的方法(没有找到任何方法):

现在我发现自己潜入了 Akka、ReactiveMongo 和 Play API 来尝试从 JsObjects 的 Seq 创建一个 JsObjects 流。

然后我尝试了一种不同的方法:来自 ReactiveMongo 网站的示例

给我一个难以调试的错误:

我宁愿不使用 Streams 并使用第二种解决方案,因为我不喜欢在我的代码中包含我不理解的东西..

0 投票
1 回答
105 浏览

scala - 在 Play 框架中返回 ReactiveMongo JSON

从 BSONArray 返回 JSON 文本的最快方法是什么?

我正在返回非常大的 JSON 文档。是否可以省略处理Play JsValue

现在我像这样返回:

我认为更快的是:

在这里更新我的完整代码:

0 投票
1 回答
64 浏览

scala - ReactiveMongo 常用函数

我有几个这样的功能:

但是有很多重复;唯一改变的是查找和排序,所以我想重构如下:

问题是???第 111 行应该是什么?

当要求 IntelliJ 从第 14-15 行中提取方法时,它会创建以下内容

IntelliJ 提出的结果类型非常可怕。所以,???在第 111 行应该是GenericQueryBuilder[quotes.pack.type]#Self,但这取决于变量quotes。我应该???用什么来代替它来完成这项工作?

使用 IntelliJ,我看到quotes.pack指的是:

我尝试用 替换???第 111 行JSONSerializationPack.type,它编译并工作。

但是,查看 的实现细节JSONCollection是作弊,如果 JSONCollection 的实现发生变化,这可能会停止工作。

那么,???第 111 行应该是什么?

否则,您是否看到此示例中删除代码重复的更简单方法?

0 投票
1 回答
261 浏览

mongodb - 使用指定 _id 的 ReactiveMongo 添加文档

我正在尝试使用 ReactiveMongo 中指定的 _id 字段插入一个新文档。但是我所有的插入都是使用 Mongo 默认增量 objectId 执行的。有没有办法在插入期间指定_id?

这是我的代码。