問題タブ [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.

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

java - play morphia が再初期化された後、findAll が失敗する

プレイでモルフィアを使用してmongodbに永続化される次のクラスがあります! 応用。クラスは、別のプレイの依存関係であるモジュールに存在します! 応用。

その構成はファイルから読み取られ、初期ロード時にデータベースに永続化され (まだデータベースにない場合)、その後の要求は db バージョンを使用します。

初期ロードとその後のクエリ アクセスは正常に機能し、mongo でページを確認できます。

ただし、プレイを再開すると!または、Morphia が再初期化される (MorphiaPlugin-1.2.4> initializedログに表示される) コードを変更すると、次のスタック トレースが得られます。

コマンド ラインを使用して mongodb からコレクションを削除すると、プレイからページ オブジェクトを正常に読み込んでクエリを実行できます。ウェブアプリケーション

前述したように、このクラスはモジュール内にあります。この問題は、モジュールが依存している 1 つのアプリケーションでのみ発生します。他のデモ アプリケーションは正常に動作します。

助言がありますか?

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

mongodb - Playframework morphia モジュールは、複数の MongoDB シャードまたはレプリカと対話します

現在、Play! から 1 つの MongoDB に morphia が通信するための構成設定があります。複数の MongoDB インスタンス (シャードまたはレプリカの可能性があります) がある場合、どうすれば Play からアクセスできますか?

0 投票する
0 に答える
322 参照

mongodb - Morphia/MongoDB での ObjectId によるアノテーション

このフィールドを使用して、Morphia の Java オブジェクトに注釈を付けようとしています。

ただし、私のコードでは次のエラーが発生します。

アプリケーションには Morphia および MongoDB jar がありますが。

この問題が発生する理由はありますか?

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

mongodb - Morphia / MongoDB:@Embeddedオブジェクトから「埋め込み」オブジェクトにアクセスする

私はこれに似たモルヒネスキーマを持っています:

(説明のために上記のコード)

新しいコンテンツで更新するために、特定のBlogCommentを取得しようとしています。対応するBlogEntryオブジェクトが利用可能であり、authorIdがあります。これは、この質問の目的のために、これら2つを合わせて正しいBlogCommentを一意に識別するのに十分であるとしましょう。

私の質問は、BlogCommentにはその「親」BlogEntryオブジェクトへの参照が明示的に含まれていないため、このBlogCommentを取得するためのモーフィアクエリを作成するにはどうすればよいですか?何かのようなもの:

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

mongodb - log4mongoドキュメントをJavaオブジェクトにマップする方法

基本的に、私のlog4mongoはユーザーアクティビティをログに記録しており、1人のユーザーを選択して、彼のログエントリを表示したいと思います。

このコードは正常に機能しています

しかし、ここで「マップされていないクラスにマップしようとしています:」というエラーが発生します。

packageクラスの名前は何であるか、logあるいはそれは無関係かもしれません。おそらく私のPOJOが正しく設定されていないことはわかっています
が、何が問題なのか理解できません。

log4mongoドキュメントは次のようになります。

これが私のPOJOimがマップしようとしているものです

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

mongodb - MongoDB で最初に特定のプロパティを持つドキュメントを表示する最速の方法

さまざまなクエリを使用してカスタム検索を行う必要がある膨大な量のドキュメントを含むコレクションがあります。各 Document には boolean プロパティがあります。それを「isInTop」と呼びましょう。すべてのクエリで最初にこのプロパティを持つドキュメントを表示する必要があります。はい。次のように、このフィールドで簡単に並べ替えることができます。

そして、フィールド「isInTop」を最後のフィールドとして適切なインデックスを作成します。ただし、mongo のインデックスは一意のフィールドで最適に機能するため、これはゆっくりと機能します。各クエリの上に「isInTop」フィールドを持つドキュメントを表示するソリューションはありますか?

ここには 2 つの解決策があります。最初に: "future" の _id の先頭にある必要があるドキュメントを設定します。ご存じのとおり、ObjectId にはタイムスタンプが含まれています。したがって、将来のタイムスタンプで ObjectId を作成し、自然順序を使用できます

2 番目: 一番上にある必要がある Ducuments の別のコレクションを作成します。そして、最初にクエリを実行します。

この問題に対する他の解決策はありますか? どちらがよりうまく機能しますか?

更新 ランクを表すカスタムフィールドでソートしてこの問題を解決しました。

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

mongodb - YAMLで埋め込まれたデータをplay/morphia / mongodbにロードする方法は?

プレイを使ってウェブアプリを開発しています!フレームワークとモルヒネ/mongodb。playが提供するYAML機能を使用して初期データを読み込もうとしています。

埋め込みオブジェクトをインポートするための正しい構文がわかりません。

モルヒネmongodbマッパーを使用した私のデータモデルは次のとおりです。

次のyamlコードを使用して、MongoEventをインポートできますが、埋め込まれたMongoEventListItemはインポートできません。

mongodbでは、次のデータを取得します。

正しいYAML構文について何かアイデアはありますか?

ありがとう

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

javascript - 遊ぶ!日付バケットによるフレームワークモルヒネモジュールグループの集約

Playを使用しています!フレームワークのmorphia-mongodbモジュールであり、グループ集約を行うための優れた組み込み機能があることがわかります。残念ながら、すべての例は固定フィールドによるグループ化/集計のみを示していますが、計算フィールド(日ごとにグループ化されたタイムスタンプ)で集計する必要があります。誰かがこれへの正しいアプローチを知っているかどうか疑問に思いますか?

私はネイティブマップ/リデュースに頼ることができることを知っています(それ自体は理解するのに少し掘り下げたので、映画と上映時間を使用して、参照用にここに投稿しています):

ただし、morphiaモジュールを使用してこの集計を行うための洗練された組み込みの方法がすでにある場合は、代わりにそれを使用したいと思います。私が持っていた1つの考えは、Javaクラス(「getDay()」など)に仮想フィールドを作成し、それによってグループ化/集約することでした。誰かがこれを経験したことがありますか?

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

java - 複数のオブジェクトを Morphia の複雑なオブジェクトにマージする際の問題

これらの 3 つのオブジェクトを 1 つの複雑なオブジェクトにマージしようとしています。

私の目標は、Morphia を使用して MongoDB に Person オブジェクトを保存することであり、これが私のドキュメントのレイアウト方法です。私は、各オブジェクトのリストを結合する一種のドキュメント ビルダを作成しました。各人はすべてのイベントのリストを取得しますが、特定のギフトのみを受け取ることができます。私のドキュメント ビルダーは、Morphia が保存できるドキュメントを作成しますが、最後の受信者 (並べ替え順) のギフトのみがすべての人物のイベントに挿入されます。ただし、正しいイベントの場合。

外側のループを削除し、メソッドが Persons リストの特定のインデックスの引数を取るようにすることで、一度に 1 人ずつ処理するようにコードを少し変更すると、次のようになります。

正しいギフトを含む 1 つの完全な Person オブジェクトを取得します。この変更されたバージョンをループに入れようとすると、問題が再発します。通常の for ループと同期コレクションを使用してみました。Google Guava の ImmutableArrayList を使用してみましたが、まだうまくいきません。問題は、アクセス中にリストを変更していることですが、とにかくそれを見つけることができません。MongoDB ドライバーを直接使用する DAO を作成したところ、適切に動作しましたが、コードが多くなり、見栄えが悪くなります。私は本当にこのアプローチが機能することを望んでいます.答えは私の目の前にありますが、私はそれを見ることができません. どんな助けでも大歓迎です。