問題タブ [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.
scala - ReactiveMongo と Scala を使用して多くのレコードをアップサートする
ReactiveMongo を使用する MongoDB 用の DAO アクターを作成しています。非常に単純な CRUD 操作をいくつか実装したいと考えています。その中には、一度に多くのレコードをアップサートする機能があります。私はリアクティブなアプリケーション (Akka 上に構築) を持っているので、冪等のアクションを持つことが重要なので、操作は挿入ではなくアップサートにする必要があります。
これまでのところ、次の(醜い)コードがあります。
reactmongo API だけを使用して、一度に多くのレコードをアップサートするすぐに使える方法はありますか?
私は MongoDB の初心者なので、これは多くの人にとって些細なことに聞こえるかもしれません。どんな助けでも大歓迎です!
mongodb - ReactiveMongoモデルでGeoJSONポイントを表す方法は?
MongoDB で地理空間クエリを実行するには、場所を含むドキュメント (2d
または2dsphere
地理空間インデックスを含む) は次のようになります。
私は Scala、ReactiveMongo、および Play Framework に非常に慣れていませんが、私の意見では、そのような場所を使用する明白な方法は、次のようなケース クラスを使用することです。
また、Web サイトの API が扱う JSON 表現は次のようになります。
今、ReactiveMongo モデルにこれらのフォーマット間でシリアル化/逆シリアル化するように指示する方法がわかりません。
私のコントローラーは次のようになります。
PointWriter と PointReader を使用しようとしました。これは私のmodels.scalaです:
コントローラー アクションを呼び出すとcreateCC
、適切にフォーマットされた Point オブジェクトが新しく作成されたドキュメントになると予想されますが、実際に得られるのは次のようなものです。
したがって、そのようなオブジェクトをデータベースに書き込む方法を ReactiveMongoに使用PointWriter
して指示しようとしても、まったく効果がありません。PointReader
Point
私がしなければならないことを理解するのを手伝ってくれる人はいますか?
(私は PHP のバックグラウンドを持っており、Scala について理解を深めようとしています...)
更新: tmbo の回答のおかげで、このライターを思いつきました:
scala - この「きれいな」BSONをScalaで解析するには?
私たちのプロジェクトでは、Scala と Reactivemongo を使用しています。(私は両方とも非常に新しいです)「きれいな」Bsonをコンソールに出力すると、次のようになります。
コンソールから対応するケース クラスに解析できるようにする必要があります。
何か助けてください。
mongodb - 特定の Enumerator の項目間にデータを挿入する play.api.libs.iteratee.Enumerator を作成するには?
ReactiveMongo で Play フレームワークを使用しています。ReactiveMongo API のほとんどは Play に基づいていますEnumerator
。MongoDB からデータを取得し、それを「そのまま」非同期で返す限り、すべて問題ありません。また、BSON を String に変換するなど、データの変換Enumerator.map
も明らかです。
しかし、今日、最終的に次のコードに絞り込まれる問題に直面しました。Enumerator
指定された からアイテムを消費し、Enumerator
それらの間にいくつかのアイテムを挿入するを作成しようとして、1日の半分を無駄にしました。一度にすべてのアイテムをロードしないことが重要です。多数のアイテムが存在する可能性があるためです (コード例には、「1」と「2」の 2 つのアイテムしかありません)。しかし、意味的にはmkString
コレクションに似ています。非常に簡単に実行できると確信していますが、私ができる最高のものはこのコードでした。Enumerator
using を作成する非常によく似たコードConcurrent.broadcast
は、WebSocket に役立ちます。しかし、ここでもそれは機能しません。HTTP 応答は返されません。を見るとEnumeratee
、そのような機能を提供することになっているように見えますが、トリックを実行する方法が見つかりませんでした。
PS に電話をかけようとしchan.eofAndEnd
ましたIteratee.mapDone
が、chunked(enums >>> Enumerator.eof
代わりにchunked(enums)
- は役に立ちませんでした。応答が返されることがありますが、正しいデータが含まれていません。何が恋しいですか?
mongodb - SSL を使用した ReactiveMongo
ReactiveMongo Scala ドライバーを使用して mongoDB に接続する Play アプリケーションをセットアップしようとしています。私はそれを機能させましたが、最終的には SSL サポートで構築された mongoDB に接続したいと考えています。ReactiveMongo は SSL 経由で mongoDB に接続する機能を提供しますか?
過去にSSLを使用してCasbahに接続できました
非同期ノンブロッキングの性質から ReactiveMongo を使用したいのですが、Casbah が唯一の選択肢である場合は、Casbah を使用できます。
json - Play: MongoDB との間で読み書き中に JSON を変換する方法
これは、MongoDB との間で読み書きしたい単純な JSON です。
MongoDB に保存する前に、"ff59ab34cc59ff59ab34cc59"
に変換し、名前を...ObjectID
にid
変更する必要があります。_id
Reads
そしてもちろん、私には逆のことも必要です。Writes
つまり、名前_id
を に変更し、 を 形式のプレーン テキストにid
変換します。ObjectID
"ff59ab34cc59ff59ab34cc59"