问题标签 [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.
mongodb - 使用reactivemongo更新数组内的嵌套数组
我正在尝试使用 scala 和响应式 mongo 更新嵌套列表中的元素。我试过这个:
结构:
我的代码的问题是它给出了这个结果:firstList.0.secondList.0.thirdList = firstObject 它应该给出例如这个:firstList.0.secondList.0.thirdList.0 = firstObject
我试过这个:
但我收到此错误:MongoDB: Too many positional (ie '$') elements found in path
请提供任何帮助
mongodb - 使用 ReactiveMongo 和 Play JSON 查询时间字段
我正在尝试使用带有 Play Framework 和 JSON 的 ReactiveMongo 来等效于此查询:
我试过这个:
并运行查询:
这将返回一个空序列。
根据文档,数据/时间字段表示为
带有 $date JsNumber 字段的 JsObject,其中时间戳(毫秒)作为值
但是,这在查询时似乎没有多大帮助。
我正在使用带有 Play Framework 2.5 的 ReactiveMongo 0.12.1
scala - Scala Play 将请求转换为 JSON 并将其写入 MongoDB
我正在使用 Play 2.5 和 ReactiveMongo。这是一个简单的问题,但我无法弄清楚。我有一个从视图接收username
和的控制器password
,我想将此请求转换为类型的模型,UserModel
然后将此模型转换为 json 并将其写入 MongoDB。
我的控制器:
我的模型:
我的观点:
scala - 根据成功的价值将成功转化为失败的最佳方法
我用玩!带有 ReactiveMongo 插件的框架(相应的版本 2.3 和 0.11)。我有下一个代码,它从 MongoDB 集合中删除项目并返回一些受影响的项目:
由于 ReactiveMongo 文档,WriteResult
collectionremove()
方法返回的类具有诸如hasError
和之类的字段,writeErrors
用于指示在执行数据库查询期间发生的错误。
WriteResult
那么,根据'shasError
字段来增强我的方法以从中返回失败的最佳和最干净的方法是什么?
这是一个粗略的例子:
即Failure
即使数据库查询返回Success
带有错误字段的方法,我的方法也应该返回
提前致谢!为了使我的代码更好,我真的很感激任何帮助
PS我考虑过将我所有的代码都包装进去,只是在标志设置为时Try
抛出一个异常,但我相信它可以以更好的方式完成,也许使用's方法hasError
true
Future
transform()
PPS 由于某些原因,来自 ReactiveMongo文档的代码示例和演示不处理WriteError
' 的错误字段和标志。事实上,文件说
如果写入结果确实指示错误,Future 将处于失败状态
但是,我已经在几个应用程序的生产代码中看到了这样的处理,所以它有点令人困惑。是不是意味着这种处理过度了?
scala - 如何创建查询数据库的自定义写入器/读取器?
我有一堂课Song
和一堂课Album
。我的目标是拥有两个单独的集合并BSONObjectID
在数据库中保留一个引用,但在我的代码中,我想将这些 ID 映射到它们各自的实体。
这是我目前的模型:
我想替换albumId
为album
:
这是我目前的模型:
正如文档所述,我必须为此创建一个自定义编写器/阅读器。但是,我的问题是我不知道如何在自定义读取器/写入器中查询数据库以检索所有必要的字段来实例化我的Album
实例。这是它应该如何工作的吗?在模型中查询数据库?
mongodb - 在 PlayFramework、scala、reactivemongo 应用程序中从 MongoDB 中的数据填充 HTML 表单时获取 None.get
我正在学习 ReactiveMongo。在我的应用程序中,我想从 MongoDB 检索数据并将其填写到 HTML 表单中。
早些时候我的问题是代码没有编译。我修复了它,但现在我从数据库中得到 None.get 而不是 value。
我在 MongoDB 中的数据将映射到以下案例类
以下是 Reactive Mongo 所需的读者。
问题1 - 我从 MongoDB 得到 None.get 而不是 value
以下是我的控制器代码。忽略不必要的导入
以下是 HTML
问题2 - @form("name").value 是从表单中提取值的正确方法吗?
mongodb - 在 play 2.5.X 中使用 reactivemongo 0.12.1 时出错
我尝试使用 play 2.5.12 升级到响应式 mongo 0.12.1,但是当我运行 JVM 时退出我并得到以下堆栈跟踪:
由于 ActorSystem [application] java.lang.NoClassDefFoundError: play/api 启用了“akka.jvm-exit-on-fatal-error”,线程 [application-akka.actor.default-dispatcher-2] 中未捕获的错误正在关闭 JVM /libs/concurrent/StateMachine at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java .net.URLClassLoader.defineClass(URLClassLoader.java:467) 在 java.net.URLClassLoader.access$100(URLClassLoader.java:73) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:368) 在 java.net。 URLClassLoader$1.run(URLClassLoader.java:362) 在 java.lang.ClassLoader 的 java.net.URLClassLoader.findClass(URLClassLoader.java:361) 的 java.security.AccessController.doPrivileged(Native Method)。loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at play.api.libs.streams.impl.EnumeratorSubscriptionFactory$class.createSubscription(EnumeratorPublisher.scala:25) at play.api .libs.streams.impl.EnumeratorPublisher.createSubscription(EnumeratorPublisher.scala:33) 在 play.api.libs.streams.impl.EnumeratorPublisher.createSubscription(EnumeratorPublisher.scala:33) 在 play.api.libs.streams.impl.RelaxedPublisher .subscribe(RelaxedPublisher.scala:19) at akka.stream.impl.MaterializerSession.akka$stream$impl$MaterializerSession$$doSubscribe(StreamLayout.scala:1033) at akka.stream.impl.MaterializerSession.assignPort(StreamLayout.scala: 1025)在akka.stream.impl.MaterializerSession$$anonfun$exitScope$2.apply(StreamLayout.scala:907)在akka.stream.impl.MaterializerSession$$anonfun$exitScope$2。apply(StreamLayout.scala:906) at scala.collection.Iterator$class.foreach(Iterator.scala:893) at scala.collection.AbstractIterator.foreach(Iterator.scala:1336) at akka.stream.impl.MaterializerSession.exitScope (StreamLayout.scala:906) 在akka.stream.impl.MaterializerSession$$anonfun$materializeModule$1.apply(StreamLayout.scala:958) 在akka.stream.impl.MaterializerSession$$anonfun$materializeModule$1.apply(StreamLayout.scala :950) at scala.collection.immutable.Set$Set3.foreach(Set.scala:163) at akka.stream.impl.MaterializerSession.materializeModule(StreamLayout.scala:950) at akka.stream.impl.MaterializerSession.materialize( StreamLayout.scala:917) at akka.stream.impl.ActorMaterializerImpl.materialize(ActorMaterializerImpl.scala:256) at akka.stream.impl.ActorMaterializerImpl.materialize(ActorMaterializerImpl.scala:146) atakka.stream。scaladsl.RunnableGraph.run(Flow.scala:350) at akka.stream.scaladsl.Source.runWith(Source.scala:81) at play.core.server.netty.NettyModelConversion.play$core$server$netty$NettyModelConversion$ $createChunkedResponse(NettyModelConversion.scala:256) at play.core.server.netty.NettyModelConversion$$anonfun$convertResult$1.apply(NettyModelConversion.scala:189) at play.core.server.netty.NettyModelConversion$$anonfun$convertResult$1 .apply(NettyModelConversion.scala:166) at play.core.server.common.ServerResultUtils$.resultConversionWithErrorHandling(ServerResultUtils.scala:127) at play.core.server.netty.NettyModelConversion.convertResult(NettyModelConversion.scala:235) .core.server.netty.PlayRequestHandler$$anonfun$play$core$server$netty$PlayRequestHandler$$handleAction$2$$anonfun$apply$3.apply(PlayRequestHandler.scala:273) 在 play.core.server.netty.PlayRequestHandler$$anonfun$play$core$server$netty$PlayRequestHandler$$handleAction$2$$anonfun$apply$3.apply(PlayRequestHandler.scala:267) 在 scala.concurrent.Future $$anonfun$flatMap$1.apply(Future.scala:253) at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251) at scala.concurrent.impl.CallbackRunnable.run(Promise.scala :32) 在 play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:110) 在 play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70) 在 scala。 concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) 在 scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) 在 scala.concurrent.Promise$class.complete(Promise.scala:55)在 scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) 在 scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:436) 在 scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:435) 在 scala.concurrent.impl .CallbackRunnable.run(Promise.scala:32) at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55) atakka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor .scala:91) 在 akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91) 在 akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91) ) at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90) at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39) at阿卡。dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 引起:java.lang.ClassNotFoundException: play.api.libs.concurrent .StateMachineforkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 引起:java.lang.ClassNotFoundException: play.api.libs.concurrent.StateMachineforkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 引起:java.lang.ClassNotFoundException: play.api.libs.concurrent.StateMachine
任何帮助将不胜感激!
scala - ReactiveMongoModule 无法实例化
不知道发生了什么,一切都编译得很好,但是当我运行项目时它失败了。我在 build.sbt 中导入了 reactivemongo,并且在我的 application.conf 文件中启用了以下功能。我正在使用播放 2.5.10
这是错误:
playframework-2.3 - 玩2.3用ReactiveMongo序列化JsObject
我有一个这样的案例类:
如何序列化和反序列化 JsObject?我试图寻找写和读,但还没有找到。有一个插件reactivemongo-play-json但它仅适用于 2.4。
如果没有更好的解决方案,我决定转换为字符串。
scala - 在 Play 2.5 和 ReactiveMongo 中处理更新失败
我编写了简单的rest API,它将音乐曲目数据添加到mongodb。
我能够成功写入轨道,但是我想处理错误情况。
我的代码如下 -
让我们假设 trackService.save(data) 发生了一些故障,然后我想返回错误代码。我想知道如何实现这一目标。
谢谢帕里