問題タブ [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 投票する
2 に答える
239 参照

scala - Scala Play ReactiveMongo - クエリ パラメータの任意のリスト

MongoDB からドキュメントのリストを取得する REST API の任意のフィルターをサポートしようとしています。例えば

  • //example.com/users <- すべてを一覧表示
  • //example.com/users?age=30 <- 30 歳のすべてのユーザー
  • //example.com/users?age=30&name=John <- 30 歳で John という名前のすべてのユーザー
  • ...

私は Play-ReactiveMongo を使用しており、JSONCollection オブジェクトのみを扱っています。

だから私のルートで私は入れました

しかし、これには 2 つの問題があります。まず、オプションのパラメーターのかなり長いリストが必要です。次に、コントローラーで、それらすべてに対してパターン マッチングを使用して、それらが空かどうかを確認する必要があります。また、コレクションをフィルタリングするために使用するセレクターを作成します。

Map[String, Seq[String]] であるリクエスト オブジェクトから完全なクエリ文字列を取得できることに気付きました。しかし、値が文字列かどうかを確認する良い方法がわかりません。

私がやりたいことを行うための別のより良い慣用的な方法はありますか?

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

json - Action(parser.json) と Action.async エラー、concurrent.Execution.Implicits を使用すると、Play Scala でクラス コントローラーを初期化できませんでした

以下を使用して、mongoddb にデータを挿入するためのポスト リクエストを作成しようとしています: 1. sbt 0.13.6 2. play 2.10 3. scala 2.11.2

json でデータを投稿し、モデルのケース クラスを作成し、JSPath を使用して json をエンティティ クラスに変換します。

これは私のサンプルコードです:

コントローラーで非同期を処理するために Action.sync を使用するサンプル コードを見てきましたが、Action.sync を使用しようとすると、Intellij IDE が「Action.sync を署名として解決できません」というエラーを検出し、変更しようとしました。このような関数の結果

そこで、 Action(parser.json) を使用することにしましたが、アクティベーターのプレイから発生した問題は、コードで「インポート play.api.libs.concurrent.Execution.Implicits._」を使用する必要があることです。しかし、ライブラリをインポートすると、新しいエラーが発生しました:

リクエストをリロードしようとすると、別のエラーが表示されました:

私の問題の解決策はありますか?

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

mongodb - Play + Scala + Reactivemongo + 2 つのパラメーターを使用した Rest クエリ

play + scala + reactmongo で crud アプリケーションを実装するタイプセーフ アプリケーション「modern-web-template」をダウンロードしました

新しい機能を追加しようとしていました。このような2つのパラメータでURLを呼び出すことでできるようにしたい

最初にこのルートをルートファイルに追加しました

次に、このメソッドをコントローラーに追加しました

1 人のユーザーであるはずの期待される結果を返すことができません。代わりに、コレクション内のすべてのユーザーを取得しています。

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

json - パラメーターを使用して json を変換し、検証を追加する方法

環境:reactivemongoを使用したplay2.3

私は reactmongo coast-to-coast の記事を読み、記事の基礎が気に入りました。例の多くは現時点ではまだ私の理解を超えていますが、私はそこに到達しています.

このアプローチを検討する一環として、単純な連絡先 REST API を構築しています。メソッドは URL を介して親 ID を渡し、本文には残りが含まれます。引っかかっていることが3つあります。

  1. 最小/最大長などの検証ルールを文字列に追加するにはどうすればよいですか
  2. 文字列値をオプションにする方法
  3. パラメータをJson値に挿入するにはどうすればよいですか
  4. アドレスの Json 構造にサブセクションを追加するにはどうすればよいですか?

これを実装するより良い方法はありますか?

この最初のセクションは変換の詳細ですが、最大長の検証を追加し、一部のフィールドをオプションに変更したいと考えています。

これはコントローラーでの REST 呼び出しです。Mongo に保存するために Json に追加する必要がある parentid パラメータに注意してください。

「keepAnd Reads.maxLength(20)」を追加してもコンパイルされませんが、多くの例で使用されていますか? 検証機能セットを拡張して独自の機能を追加する方法はありますか?

Update1 : 私は Scala を学んでいるので、この時点で見落としたり誤解したりしている言語についていくつかの簡単なことがある可能性があります。しばらく前から Play1/Java に慣れてきました。

Update2 :「PickBranch」呼び出しが文字列値とオブジェクトを区別しないことにも気付きました。他の人々はそれにどう対処してきましたか。

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

mongodb - Play-Reactivemongoプラグインを使用してMongoDB _idをマップしますか?

Play-ReactiveMongo プラグインを使用して、Play と Angular を使用して MongoDB の単純なレコードを読み書きしようとしています。プラグインは、BSON と JSON の間で明示的に変換する代わりに、単純なケース クラスと通常の JSON を使用できるため、優れたオプションのようです。しかし、プラグインを使用するいくつかの例は、同じフレームワーク内で MongoDB オブジェクト ID を JSON との間でマッピングする方法をカバーしていないようです。これはすべて、暗黙の(=私にとっては魔法の)読み取り/書き込みの負荷でバックグラウンドで機能するようですが、オブジェクトIDを処理していないようです。

私のコードは Alex Lashford のModern Web Templateに基づいており、 JSON Read/Writes を使用した Stephan Godbillion の例に非常に似ていますが、Alex も Stephan も MongoDB オブジェクト ID とは何の関係もありません。

データ レコードにはある種の一意の ID が必要なので、それらをフェッチして更新することができます。MongoDB が提供するものを使用するのは理にかなっていますが、Play ReactiveMongo 内でこれをきれいに使用する方法を見つけることができないようですプラグイン。

JSON コレクションで Play ReactiveMongo プラグインを使用する方法と、すべての処理を BSON を使用するように変換することなく JSON との間でオブジェクト ID をマッピングする方法を示す例を知っている人はいますか?

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

mongodb - Reactivemongo TTL コレクション

MongoDBでTTLを設定できることを知っています

そして、ReactivemongoでScalaを使用してインデックスを確保できることを知っています

しかし、reactivemongo でコードから TTL コレクションを設定するにはどうすればよいでしょうか? または、Scala で reactmongo を使用して Mongo で期限切れのレコードを作成する他の方法はありますか?