問題タブ [morphia]
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.
java - Id による Morphia のクエリ
私は MongoDB の Pojo マッパーである Morphia を使用していますが、ID でオブジェクトを取得するという、非常に単純なはずのタスクが難しいと感じています。コレクション内のすべてのオブジェクトを見つけることができますが、リストから取得した ID を使用してクエリを実行するという単純なタスクがわかりません。私は実際に ObjectId について話しています。JSONでレンダリングしようとすると、
mongodb - Morphia を使用した MongoDB クラスタリングのテスト
私は、レプリカ セット構成で MongoDB を試して、それがどのようにスケーリング/実行/対処するかを確認しました。
私はMorphia ( Mongo の Java ドライバーの上にある POJO マッピング レイヤー) を使用して、10,000 個の単純なランダム ドキュメントを単一のコレクションに保持しています。データベースに送信されたデータが安全に永続化されることを期待して、POJO (MyData
以下のスニペット) に注釈を付けました。@Entity(concern="REPLICAS_SAFE")
私の POJO は、ObjectId
フィールド (Mongo のプライマリ キー タイプ)、String
ランダムな長さ (最大 20 文字) のランダムな文字、およびlong
を使用して生成された で構成されてRandom.nextLong()
いました。
私のコードは次のとおりです。
私は 4 ノードのレプリカ セット クラスターをセットアップし、上記のプログラムを実行してから、比喩的にケーブルを引き抜いて何が起こったかを確認しました。
望ましい結果は、すべてのドキュメントをデータベースに正常に永続化するまでプログラムを実行することでした。
数回行った後の実際の結果は、次のいずれかでした。
- Java は 10k のエントリをコミットしたが、データベースには 10k 未満しかないと報告している
- Java が 10k 未満をコミットしたことを報告し、データベースが同じ値またはそれ以下の値を報告する
- すべて正常に動作しています
あるケースでは、バックアップされたノードが実際には PRIMARY ノードに追いつくことができず、削除されたデータベースで最初から開始する必要がありました。これは、opfile パラメーターを 2 ギガに増やしたにもかかわらずでした。これは、10,000 行の非常に単純なデータを再生するのに十分であると考えていました。
あなたが知っておくべきその他の事項:
- これらはすべて単一のハードウェア (2 ギガの Pentium D!) 上で実行され、クラスタはそれぞれ 128 メガ RAM の 2 つの 32 ビット Ubuntu Server VirtualBox インスタンス上で実行され、Java クライアントは Windows XP ホスト内で実行されます。各仮想マシンで2 つの
mongod
プロセスが実行され、1 つの仮想マシンでアービターも実行されました。 - 2 台の仮想化されたマシンのクロックは数秒ずれていました (これを修正するには VirtualBox Guest Additions をインストールする必要があります) が、それほど大きくはありませんでした。 d 言及します。
私は 32 ビット マシンでの Mongo の 2 ギガ制限を認識しており、他の人が記録を失っているという事実を認識しており、これらのテストを行っているマシンが正確に上位 500 に含まれていないことを認識しています (これが、私が保持することを選択したデータが小さかった理由です) しかし、私のテストが機能したとき、それらは非常にうまく機能しました.
私が抱えていた問題は、Mongo がまだゴールデンアワーの準備ができていないことを証明しているのでしょうか、それとも私が何か本質的に間違ったことをしているのでしょうか?
私は1.6.5を使用しています。
洞察、ヒント、ヒント、指針、説明、または批判は大歓迎です!
ps: 私はトローリングではありません - NoSQL が適している種類のデータに対する NoSQL のアイデアが本当に好きなので、それが機能することを本当に望んでいますが、今のところあまり運がありません!
java - MongoDB と Morphia を使用して GWT アプリケーションをコンパイルする
MongoDB と Morphia を使用する GWT アプリケーションをコンパイルしようとしましたが、例外が発生しました。
Morphia および MongoDB jar は、Java ビルド パスの Libraries セクションに挿入されます (私は Eclipse を使用しています)。また、MongoDB のソース コードを添付しました。
Morphia を使用していないときは、すべて正常に機能していました。
ここに私のクラスコードがあります:
なにが問題ですか?
ありがとう。
java - Morphia/MongoDB: getmore ができない
Morphia を使用して、MongoDB データベースのすべての行 (「ドキュメント」?) を繰り返し処理しようとしています。時折、次のスタック トレースが表示されます。
MongoDB ログ ファイルには、次のように表示されます。
反復するための私のコードは非常に簡単です。
モルフィアのバグ?MongoDB のバグ?私のバグ?
アップデート:
Glassfish ログにもこれが表示されます。
mongodb - Morphia / MongoDB:個別のフィールドを反復処理する方法
特定のドキュメント内の個別のフィールドのリストを繰り返し処理したいと思います。MongoDBコマンドラインを使用すると、次のような操作を行うことで、必要なものを取得できます。
...すべての結果を巨大なBSONとして返すことを除いて。
Morphiaでこれを行い、さらにそれをとして返す方法はありIterable
ますか?そうすれば、すべての結果が一度にメモリに読み込まれることはありませんか?
distinct()
これは、ある種のメモリ内ハッシュマップとして実装されていると思います。これは、結果を少しずつ繰り返して、すべてを一度にメモリに保存することを回避しようとしても意味がないことを意味します。
mongodb - Morphia/MongoDB: 高度なクエリからの検索結果の並べ替え
私は、Morphia、MongoDB、およびドキュメント指向データベース全般にかなり慣れていません。次の問題に取り組む方法に関する一般的なガイダンスを探しています。
約 500K のBook
ドキュメントを含む DB があります。
タイトル フィールドと説明フィールドに対して全文検索を実行する必要があります。そのために、およびフィールドの単語をそれぞれ含むtitleFTS
およびdescriptionFTS
配列を作成し、ストップ ワードをフィルター処理して、語幹処理を行いました。title
description
検索時にユーザーがキーワードを入力すると、入力したすべての用語に一致する書籍が返されます。たとえば、次のようになります。
これで問題なく動作しますが、ここで難しい問題に直面します。複数の基準に基づいて、上記のクエリの結果を並べ替えたいと考えています。そのような提案された順序の 1 つが次のとおりです。
titleFTS
とdescriptionFTS
フィールドの両方で検索語に一致する書籍titleFTS
フィールドのみ一致する本descriptionFTS
フィールドのみ一致する本- の数が最大の本
sales
- 最高の本
rating
- 最高の本
ratingscount
私たちのアプリは Java で書かれており、MorphiaDB API を使用しています。この種の Java Comparatorを非常に簡単に作成する方法を想像できますが、明らかに DB レベルでの順序付けを行いたいと考えています。
最後に質問があります。これは Morphia API を使用して実行できますか? または、DB.command() を使用して Javascript を記述する必要がありますか? Map/Reduce は必要ですか? もしそうなら、この問題に対して map/reduce を実装する方法についてのヒントが大いに役立ちます。
orm - Scalaでのモルヒネの使用
ScalaでMorphiaを使用することは可能ですか?
ScalaをサポートするMongoDB用の他の軽量ORMはありますか?
scala - Scala と Morphia を使用した PlayFramework
私はこの例外を受け取り続けます:
おっと: CannotCompileException 例外が原因で予期しないエラーが発生しました CannotCompileException: [source error] ds() not found in models.dc
コードの何が問題になっていますか?
ここにmodels.dsがあります
ここにmodels.dcがあります
java - 春にlog4jを介してログインするMorphia
log4j を使用して Sfl4j 経由で Morphia をログに記録したいと考えています。Morphiaのドキュメントから:
これをアプリケーションの最初に追加します。静的に一度実行されます。MorphiaLoggerFactory.registerLogger(SLF4JLoggerImplFactory.class);
上記のステートメントを機能させるために必要な Bean を作成できません。
scala - scala に mongodb 用の orm のようなライブラリはありますか?
scala で使用できるのは だけのようですが、javacasbah
などの scala 用の orm のようなライブラリがあることを願っています。morphia
ありますか?morphia
Javaコレクションをscalaに変換する必要があるため、scalaで使用したくありません
アップデート
いくつか試してみましたが、まだ適切なものが見つかりません。scala の初心者が始めるのが難しいものもあります。
最後に
最後に、素晴らしいmongo-scala-driverを選択しました。みんなに感謝します。