問題タブ [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 - タイプ Option[reactivemongo.bson.BSONObjectID] の Json デシリアライザーが見つかりません
私は得ています:
レビュー オブジェクトをデシリアライズしようとしたとき。
レビュー:
playframework - Play 2.1 アプリの起動時に [warn]...PrimaryUnavailableException を克服するにはどうすればよいですか?
私は Play/Scala/ReactiveMongo スタックに不慣れで、ログに表示される [警告] を理解するのに苦労しています。それを回避する方法や、それをなくす方法を見つけられるかどうかを確認してください。問題は、replset で ReactiveMongo を使用する場合です。何らかの理由で、アプリの起動時にドライバーが次の不安な [警告] をログに記録します...
Mongo シェルで replSet 自体をチェックすると、そこに問題はなく、アプリケーションは正常に動作します。これらの例外は「偽陽性」であると確信しています。
私の conf/application.conf は次のようなものです
appDependency は
conf/play.plugins ファイルがあります
アプリ自体は、起動時から正常に動作し、Mongo ドキュメントを問題なく読み書きできます。そのため、初期の [警告] は「偽陽性」であると私は断言します。この警告は正常ですか? 表示を消すためにできることはありますか?
mongodb - Play Framework 2 で Reactivemongo を使用してコレクション全体を読み取る奇妙な動作
次のコードがあります。
このコードを実行すると、play コンソールに"name"
.NET からの 12 の異なるドキュメントのフィールドが表示されmongodb
ます。2 番目の Logger 呼び出しのコメントを外すと、システムは名前を 1 つだけ表示して停止します。フィールド"area"
は問題なくデータベースに存在します。
私は何か間違ったことをしていますか?
json - Play 2.1 と reactmongo 0.8 カウント ドキュメント
MongoDB
viaを使用する Play 2.1 アプリがありますReactivemongo 0.8 plugin
。私のアプリでは、 モデルを使用せずにここで説明されているアプローチを使用します
たとえば、関数 getTypeAll で「タイプ」が getType パラメータに等しい mongodb からすべてのドキュメントを返すメソッドがあります。これは正常に機能し{"type": "computer"}
ます。
toType は次のように記述されval toType = OWrites[String]{ s => Json.obj("type" -> s) }
、val コレクションは次のように定義されます。lazy val collection = db("mycollection")
問題は、「タイプ」が同じパラメーターに等しいドキュメントの数を取得するメソッドを記述できないことです。
{"typecount": 45} のような json として返します
見つけたすべての例を調べていましたが、成功しませんでした。私が欲しいのは次のようなものだと思いますval c = collection.find[JsValue](q).count()
しかし、それは言うエラーを出しますvalue size is not a member of reactivemongo.api.DefaultCollection
要素の値が指定された値と等しいすべてのドキュメントをカウントする方法を誰か教えてもらえますか?
mongodb - エラー:「パラメーター readFileReader の暗黙的な値が見つかりませんでした」reactivemongo で GridFS を使用してファイルを保存しようとしています
次のコードを使用して、Play 2.1 で reactmongo を使用して添付ファイルを保存しようとしています:
次のエラーが表示されます。
パラメータ readFileReader の暗黙の値が見つかりませんでした: reactmongo.bson.BSONDocumentReader[reactivemongo.api.gridfs.ReadFile[reactivemongo.bson.BSONValue]] [エラー] val futureResult: Future[ReadFile[BSONValue]] = gridFS.writeFromInputStream(fileToSave, new FileInputStream(new File(ファイル名)))
私は何が欠けていますか?
ありがとう、
GA
mongodb - Play と ReactiveMongo を使用したネストされた先物応答でのコンパイラ エラー
1 つのフィールドがリストである mongo エントリがあります。エントリが存在しない場合は、新しいものを追加したい。存在する場合は、新しい要素をリストに追加します。
最後に、クライアントに Ok を返したいのですが、操作が正常に完了した後でのみです。厳密な要件ではありませんが、ユーザーにとって最も理にかなっていると思います。
これは私が現在持っているものです-動作しますが、更新すると、新しい要素を追加する代わりに、古いリストが上書きされます。
リストが存在するかどうかを確認し、要素を追加して新しいリストを作成するために、次のようなものから始めました (これはcollection.update
前のコードのブロックを置き換えます)。
しかし、コンパイラはこの入れ子を好まないようです:
とにかく、この方法は少しぎこちなく感じます。これを解決するためのよりエレガントな方法があるはずですが、私は Futures と ReactiveMongo が初めてで、わかりません。どうすれば解決できますか?
編集: 私もこの投稿を見つけましたが、DB 操作が完了する前に応答を返していると思いますが、それは望ましくありません。
json - ReactiveMongo の既存のオブジェクトを更新するために json 書き込みを処理するにはどうすればよいですか?
私の現在の Play2 プロジェクトでは、ユーザー オブジェクトを格納するために ReactiveMongo を実装しました。
ユーザー:
リンクされたプロバイダー:
ご覧のとおり、オブジェクトが mongoDB インスタンスに正しく格納されるように、読み取りと書き込みを実装しました。新しいオブジェクトで挿入を行うと、すべてが魅力的に機能し、オブジェクト構造が正しく保存され、mongoDB から取得されます。
私が問題を抱えているのは、更新を処理する方法を考え出すことです。したがって、次のようにユーザー オブジェクトのいくつかの値を更新するとします。
そして、更新メソッドを呼び出します。
更新方法:
DBQueryBuilder.set() メソッド:
これにより、次のエラーが発生します。
書き込みは、 DBQueryBuilder.set() メソッドを呼び出すときに_idフィールドもシリアル化する必要があることを示しているため(__ \ "_id").write[Option[BSONObjectID]]
です。_idの更新は許可されていないことがわかっているため、この場合は絶対に行うべきではありません。
だから私の質問は次のとおりです。これをどのように処理すればよいですか? "$set" -> query全体を書く必要のないスマートな Scala の方法があると思いますか? たぶん、より良い DBQueryBuilder を作成しますか? たぶん、別の書き込み定義を定義していますか?
私は Scala の初心者なので、優しくしてください =) !
playframework-2.1 - JSON形式のマクロで_idをidに変換
Play アプリケーションで reactmongo を使用しています。私のモデルは、_id ではなくプロパティ id を使用します。モデルの id プロパティにマップされるように、オブジェクト ID(_id) を自動的に変換するにはどうすればよいですか。
現在、私は手作業でフォーマットを書いています:
しかし、私は書きたいだけです:
更新:
trevor.reznik の回答に基づいて、私はそれを理解しました。