問題タブ [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 に入るオブジェクトを表すケース クラスを作成しました。値の一部は Options です。

私が抱えている問題は、オプションの値が配列として Mongo に書き込まれていることです。たとえば、メーカーとして「Acme」、minPrice として 88、maxPrice として None を使用します。MongoのPrintjsonは、これが次のように見えることを示しています

データベース値からオブジェクトを作成するときに、Mongo から配列値を単純なオプション値として読み取ることができません。

その getAs() ステートメントは常に None を返しますが、bsondoc.get("minPrice") には値 Some(BSONDocument()) があります

更新のために Mongo に送信されるデータを出力したところ、確かに、修飾子ステートメントを作成するコードは、オプションの値を空または 1 つの要素を含む配列として送信しています。

これは次のようにきれいに印刷されます

これらのオプションの値を処理する正しい方法はありますか?

謎に追加するために、同じ修飾子作成コードをワークシート (Eclipse 内) に配置すると、別の結果が得られます。

オプションの値には配列がありません。none の場合は表示されません。これは私のアプリケーションでは問題なく機能しますが、何かがアプリケーション内のオプション要素の BSONDocument 処理を変更しています。誰かが理由を知っていますか?

0 投票する
2 に答える
1419 参照

mongodb - ReactiveMongo を使用して MongoDB でテキストを検索する

MongoDB には、次のようなドキュメントがいくつかあります。

コレクション内のそのようなすべてのドキュメントを検索し、説明に「fox」という単語を含むすべてのドキュメントを返すことができるようにしたいと考えています。これはReactiveMongoで可能ですか? ありがとう

0 投票する
2 に答える
759 参照

mongodb - ReactiveMongo & JSON4S

JSON4S を使用して、外部 API から取得した JSON 文字列を解析しています。

play reactmongo JSONCollection やスプレー json からリアクティブ mongo コンバーターのような JSON エンティティを取得する方法はありますか?

標準のMongo Casbah libなどでJSON4Sを簡単に使用できますbuilder.insert(JObjectParser.parse(obj))

しかし、reactivemongoでこれを実現したいと本当に思っています。

0 投票する
1 に答える
948 参照

mongodb - ReactiveMongo: カーソルでクエリを検索[BSONObjectID]

ReactiveMongo を使用した私のクエリ:

これは、見つかったドキュメントごとに「subscriberId」フィールドを 1 つだけ返すためのものです。最終的な出力タイプは Future[Seq[BSONObjectID]] である必要があります

しかし、それは失敗します:

Failure(java.lang.RuntimeException: JsError(List((,List(ValidationError(未処理の json 値,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 で) 認証されている場合にのみファイルを保存し、一部のユーザーのプロパティをチェックおよびメタデータとして使用する必要があります。
  • ユーザーが認証されていない場合、リクエスト本文はまったく解析されません (この質問も参照してください)。

それは線に沿ったものだろう

残念ながら、リクエスト本文の解析から列挙子を取得する方法はないようです。唯一の方法は、アクションにパーサーと、解析されるボディが供給される Iteratee を提供するようです。

リアクティブな方法で(一時ファイルを使用したり、本体をメモリに保存したりせずに)それを達成する方法がわかりませんでした。それはまったく可能ですか?

0 投票する
0 に答える
597 参照

playframework - reactmongo を使用して GridFS から直接ファイルを提供する

Play Framework 2.2.1 と Scala 2.10 を使用しています。reactmongo を使用して gridFS からファイルを直接読み取りたいので、ブラウザで URL を使用して開くことができます。たとえば、 http: //www.example.com/playgridfs/filename

どうすればそれを達成できますか?

0 投票する
1 に答える
174 参照

scala - scala trait で val をインスタンス化するのは正しい?

私はスプレー、akka、scala、reactivemongo プロジェクトで作業しており、この特性を持っています

また、次のようにその特性を使用する Dao のオブジェクトがあります。

データベースの val を persistencemanager トレイトでインスタンス化するのは正しいですか? それは本当にうまくいきます。

ありがとうございました!

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 リーダーとライターの自動生成を使用することにしました ( https://github.com/ReactiveMongo/Play-ReactiveMongoを参照) 。

また、同じドキュメントで、コレクション内のドキュメントを挿入および検索する方法の良い例に従います。しかし、更新については何も言いません。

ドキュメントを更新する必要がある場合、「_id」をどのように処理しますか?

例を聞かれました。/ bookmarks ルートを呼び出すと、ランタイム例外が発生します 。 [RuntimeException: JsError(List((/_id,List(ValidationError(error.expected.jsstring,WrappedArray()))), (/tags,List(ValidationError(error.path.missing,WrappedArray())))))]