"java.lang.RuntimeException: null" 使用 Reactive 查询时 Mongo 0.11
"java.lang.RuntimeException: null" while querying with Reactive Mongo 0.11
我正在尝试使用带有 Play 2.4.2 和 Reactive Mongo 0.11.5.
的 JsonCollection selector = {}
查询集合
调用方法 collect[List]
.
时,在 play.api.libs.iteratee
深处的方法 foldM
中查询失败
我能追踪到的最后一个代码是 case Input.El(e) => { val newS = executeFuture(f(s, e))(pec); flatten(newS.map(s1 => Cont[E, A](step(s1)))(dec)) }
。
此代码是从 reactive mongo 0.10.5 和 play 2.3.9 移植过来的。
堆栈跟踪:
java.lang.RuntimeException: null
at scala.sys.package$.error(package.scala:27) ~[scala-library-2.11.6.jar:na]
at play.api.libs.iteratee.Iteratee$$anonfun$run.apply(Iteratee.scala:396) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.Iteratee$$anonfun$run.apply(Iteratee.scala:389) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.StepIteratee$$anonfun$fold.apply(Iteratee.scala:706) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.StepIteratee$$anonfun$fold.apply(Iteratee.scala:706) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1(Future.scala:24) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[scala-library-2.11.6.jar:na]
at play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:109) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:71) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.Promise$class.complete(Promise.scala:55) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library-2.11.6.jar:na]
问题出在 DateTime 格式上 我以前使用 mongo 格式的日期 { date: { $date: 1435723470549 } }
.
这个问题解释了区别:Parsing a Json String in Scala using Play framework,我应该更新它以使用 JsDefined
。
我正在尝试使用带有 Play 2.4.2 和 Reactive Mongo 0.11.5.
的 JsonCollectionselector = {}
查询集合
调用方法 collect[List]
.
play.api.libs.iteratee
深处的方法 foldM
中查询失败
我能追踪到的最后一个代码是 case Input.El(e) => { val newS = executeFuture(f(s, e))(pec); flatten(newS.map(s1 => Cont[E, A](step(s1)))(dec)) }
。
此代码是从 reactive mongo 0.10.5 和 play 2.3.9 移植过来的。
堆栈跟踪:
java.lang.RuntimeException: null
at scala.sys.package$.error(package.scala:27) ~[scala-library-2.11.6.jar:na]
at play.api.libs.iteratee.Iteratee$$anonfun$run.apply(Iteratee.scala:396) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.Iteratee$$anonfun$run.apply(Iteratee.scala:389) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.StepIteratee$$anonfun$fold.apply(Iteratee.scala:706) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.StepIteratee$$anonfun$fold.apply(Iteratee.scala:706) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1(Future.scala:24) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[scala-library-2.11.6.jar:na]
at play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:109) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:71) ~[play-iteratees_2.11-2.4.2.jar:2.4.2]
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.Promise$class.complete(Promise.scala:55) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library-2.11.6.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library-2.11.6.jar:na]
问题出在 DateTime 格式上 我以前使用 mongo 格式的日期 { date: { $date: 1435723470549 } }
.
这个问题解释了区别:Parsing a Json String in Scala using Play framework,我应该更新它以使用 JsDefined
。