問題タブ [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 に答える
6896 参照

mongodb - タイプ Option[reactivemongo.bson.BSONObjectID] の Json デシリアライザーが見つかりません

私は得ています:

レビュー オブジェクトをデシリアライズしようとしたとき。

レビュー:

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

playframework - Play 2.1 アプリの起動時に [warn]...PrimaryUnavailableException を克服するにはどうすればよいですか?

私は Play/Scala/ReactiveMongo スタックに不慣れで、ログに表示される [警告] を理解するのに苦労しています。それを回避する方法や、それをなくす方法を見つけられるかどうかを確認してください。問題は、replset で ReactiveMongo を使用する場合です。何らかの理由で、アプリの起動時にドライバーが次の不安な [警告] をログに記録します...

Mongo シェルで replSet 自体をチェックすると、そこに問題はなく、アプリケーションは正常に動作します。これらの例外は「偽陽性」であると確信しています。

私の conf/application.conf は次のようなものです

appDependency は

conf/play.plugins ファイルがあります

アプリ自体は、起動時から正常に動作し、Mongo ドキュメントを問題なく読み書きできます。そのため、初期の [警告] は「偽陽性」であると私は断言します。この警告は正常ですか? 表示を消すためにできることはありますか?

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

mongodb - Play Framework 2 で Reactivemongo を使用してコレクション全体を読み取る奇妙な動作

次のコードがあります。

このコードを実行すると、play コンソールに"name".NET からの 12 の異なるドキュメントのフィールドが表示されmongodbます。2 番目の Logger 呼び出しのコメントを外すと、システムは名前を 1 つだけ表示して停止します。フィールド"area"は問題なくデータベースに存在します。

私は何か間違ったことをしていますか?

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

json - Play 2.1 と reactmongo 0.8 カウント ドキュメント

MongoDBviaを使用する 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

要素の値が指定された値と等しいすべてのドキュメントをカウントする方法を誰か教えてもらえますか?

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

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

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

mongodb - Play と ReactiveMongo を使用したネストされた先物応答でのコンパイラ エラー

1 つのフィールドがリストである mongo エントリがあります。エントリが存在しない場合は、新しいものを追加したい。存在する場合は、新しい要素をリストに追加します。

最後に、クライアントに Ok を返したいのですが、操作が正常に完了した後でのみです。厳密な要件ではありませんが、ユーザーにとって最も理にかなっていると思います。

これは私が現在持っているものです-動作しますが、更新すると、新しい要素を追加する代わりに、古いリストが上書きされます。

リストが存在するかどうかを確認し、要素を追加して新しいリストを作成するために、次のようなものから始めました (これはcollection.update前のコードのブロックを置き換えます)。

しかし、コンパイラはこの入れ子を好まないようです:

とにかく、この方法は少しぎこちなく感じます。これを解決するためのよりエレガントな方法があるはずですが、私は Futures と ReactiveMongo が初めてで、わかりません。どうすれば解決できますか?

編集: 私もこの投稿を見つけましたが、DB 操作が完了する前に応答を返していると思いますが、それは望ましくありません。

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

json - ReactiveMongo の既存のオブジェクトを更新するために json 書き込みを処理するにはどうすればよいですか?

私の現在の Play2 プロジェクトでは、ユーザー オブジェクトを格納するために ReactiveMongo を実装しました。

ユーザー:

リンクされたプロバイダー:

ご覧のとおり、オブジェクトが mongoDB インスタンスに正しく格納されるように、読み取りと書き込みを実装しました。新しいオブジェクトで挿入を行うと、すべてが魅力的に機能し、オブジェクト構造が正しく保存され、mongoDB から取得されます。

私が問題を抱えているのは、更新を処理する方法を考え出すことです。したがって、次のようにユーザー オブジェクトのいくつかの値を更新するとします。

そして、更新メソッドを呼び出します。

更新方法:

DBQueryBuilder.set() メソッド:

これにより、次のエラーが発生します。

書き込みは、 DBQueryBuilder.set() メソッドを呼び出すときに_idフィールドもシリアル化する必要があることを示しているため(__ \ "_id").write[Option[BSONObjectID]]です。_idの更新は許可されていないことがわかっているため、この場合は絶対に行うべきではありません。

だから私の質問は次のとおりです。これをどのように処理すればよいですか? "$set" -> query全体を書く必要のないスマートな Scala の方法があると思いますか? たぶん、より良い DBQueryBuilder を作成しますか? たぶん、別の書き込み定義を定義していますか?
私は Scala の初心者なので、優しくしてください =) !

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

playframework-2.1 - JSON形式のマクロで_idをidに変換

Play アプリケーションで reactmongo を使用しています。私のモデルは、_id ではなくプロパティ id を使用します。モデルの id プロパティにマップされるように、オブジェクト ID(_id) を自動的に変換するにはどうすればよいですか。

現在、私は手作業でフォーマットを書いています:

しかし、私は書きたいだけです:

更新

trevor.reznik の回答に基づいて、私はそれを理解しました。