問題タブ [mongodb-scala]

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 に答える
437 参照

eclipse - MongoDB Java / Scala ドライバー - メソッドの欠落

(ScalaQuery を使用して) 単純な古いデータベースから MongoDB に永続化レイヤーを変換しようとしていますが、奇妙な問題が発生しています。公式の MongoDB Java ドライバーの Scala ラッパーである Casbah ドライバーを使用します。Java と Scala の両方のドライバーは、Eclipse で開いたときの .jar のドキュメントと概要によると、単一の DBObject をパラメーターとして (ID を含む) メソッド findOneById を定義します。

ただし、それにアクセスしようとすると、Eclipse と SBT の両方で Scala コンパイラから欠落メソッド例外が発生します - Scala バージョン 2.9.0-1、SBT 0.10.1。

何が原因でしょうか? これはおそらく既知の SBT / Scala コンパイラのバグですか?

リポジトリ全体を削除したので、すべての依存関係が新たにダウンロードされましたが、これで問題は解決しませんでした。

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

scala - MongoDB-参照または「外部キー」によるソート(Liftweb、Scala)

組織を指す参照フィールド「o」を含むユーザーがいます。

組織にはフィールド「n」が含まれています。

できればScala/Liftでソートされたユーザーのリストが欲しいです。

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

casbah - Scala MongoDB Casbahは、動的な$orクエリを構築する必要があります

Scala、MongoDB、Casbahを使用します。

文字列のランダムなリストが与えられた場合:

MongoDBドキュメント構造が与えられた場合:

単一のMongoDBCollection.find()ステートメントを使用して、リスト内のエントリと同じ名前のすべてのドキュメントを検索するにはどうすればよいですか?(つまり、$またはを使用)

ありがとう、-ドン

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

scala - Casbah とサブセットを使用して複数レベルのオブジェクトを管理する方法は?

私は3つのオブジェクトを持っています

Mongo DB には Profile オブジェクトのみを格納する予定ですが、Scala アプリではそれらを型で表す必要があります。

同じためにサブセットを使用しており、次の性質を定義しています

Mongo Now との間でクエリを実行するにはどうすればよいですか? このあたりの例はありますか?

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

mongodb - カーソルを反復しながらMongoオブジェクトを変更する安全で効率的な方法は?

Mongo コレクション内のすべてのオブジェクトを調べ (パラメータなしで find() の結果を反復処理)、それらのいくつかに変更を加えるコードがいくつかあります。これを行うのは安全ではないようです。変更は保存されますが、カーソルを反復処理し続けると、変更されたオブジェクトのサブセット (10 ~ 15%) が 2 回目に表示されます。ドキュメント ID やインデックスがあるものは変更していません。

事前にすべてのドキュメント ID を取得する (カーソルを配列に変換する) ことでこの問題を回避できると思いますが、これらは大きなコレクションなので、避けたいと思います。

デフォルトでは、find() の結果に順序が定義されていないように見えることに気付いたので、カーソル {"_id":1} に明示的な並べ替えを設定してみました。これで問題は解決したようです。何を変更しても、何も表示されなくなりました。しかし、それが良い/信頼できるアプローチであるかどうかはわかりません。ドキュメントからわかる限り、並べ替えを追加しても、すべての ID を事前にクエリするわけではありません。もしそうなら、それはいいことですが、なぜそれが問題を解決するのかわかりません。

変更中にカーソルを使用するのは悪い考えですか?

問題があれば、私は Scala/Cas​​bah を使用しています。

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

mongodb - 複数のドキュメントがmongodb casbah scalaを更新します

2 つの MongoDB コレクションがあります

プロモーション コレクション:

主張されたコレクション:

誰かがプロモーションを要求すると、「claimedPro」コレクション内に新しいドキュメントが作成されます。ここで、proId は最初の (プロモーション) コレクションへの (仮想) 外部キーです。すべてのクレームは、「promo」コレクションのカウンター「qtClaimd」をインクリメントする必要があります。トランザクション方式で別のコレクションの値をインクリメントする最良の方法は何ですか? MongoDB には複数のドキュメントの分離がないことを理解しています。

また、「非埋め込み」アプローチを採用した理由は次のとおりです。

プロモーションが作成されてユーザーに公開された後、数十万の請求が発生します。単一のドキュメントで多数の書き込みが発生することを考えると、promo コレクション内にクレームを埋め込むことは論理的ではないと思いました ('coz mongo は、数千のクレームのためにサイズが大きくなると、promo コレクションのサイズを変更します)。埋め込みアプローチを使用しないと、プロモーション コレクションは影響を受けずに保持されますが、「クレーム」コレクションに新しいドキュメントが挿入されます。後でレポートを生成するときに、そのプロモーションの「クレーム」の詳細とともに「プロモーション」の詳細を表示する必要があります。非埋め込みアプローチでは、最初に「promo」コレクションをクエリし、次に「proId」で「クレーム」コレクションをクエリする必要があります。*何百もの「クレーム」が発生する場合があることにも注意してください。

これら 2 つのコレクションでトランザクション効果を達成するための最良の方法は何ですか? 私はScala、Casbah、およびSalatをすべてScala 2.10バージョンで使用しています。

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

mongodb - runco​​mmand は casbah mongocolection のメンバーではありません

これはmongoで実行されます

casbahを使用してscalaで同じように実行するにはどうすればよいですか

0 投票する
3 に答える
3434 参照

mongodb - Play Framework 2.1 に最適な mongodb ドライバー

Play Framework 2.1 に最適な MongoDB ドライバーは何ですか?

現時点で ReactiveMongo を試していますが、適切なドキュメントがどこにも見つからず、将来の開発について疑問があります。

最も人気があり、サポートされているドライバーはどれですか?

ありがとう、

GA