問題タブ [mongodb-java]

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

playframework - モルフィア モデルでの所有オブジェクト ID の永続化

私は2つのクラスを持っています

ムービーで次のメソッドを定義すると:

次に、Session のメソッド:

Movie オブジェクトと Session オブジェクトを保存できますが、Movie.findById を使用してムービーを取得しようとすると、スタック トレース (以下) が表示されます。

ただし、セッションで movieId フィールドを設定しないと、所有しているムービーを正常に取得できます。

私が間違っているかもしれないアイデアはありますか?

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

mongodb - SpringDataを介してMongoDBに接続する際の例外

私はいくつかのテストプログラムに取り組んでいます。http://static.springsource.org/spring-data/data-document/docs/1.0.0.M2/reference/html/#mongoSpringData MongoDBに記載されているのと同じように実行しました。.core。しかし、それは例外を示しています:

しかし、MongoApp.javaを実行した後、次の例外が発生します。

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

java - gwt + mongo(morphia)= IncompatibleClassChangeError

Gwt-> RPC-> MongoDB(モルヒネ)

MyCodeImpl.getDataSource():

42行目:Mongo db = new Mongo( "localhost");

GWTがなくても問題なく動作します。なぜGWTで動作しないのですか?com.mongodb.DbDecoderに問題があるようです...何か提案はありますか?

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

spring - $set更新を行うときにSpring MongoDBカスタムコンバーターは使用されませんか?

簡単な例の前の短い要約:

  • 私のカスタムコンバーターを使用するという意味で、新しいドキュメントの挿入は問題ありません
  • カスタムコンバーターを使用しないという意味で、既存のドキュメントの更新は問題ありません

私の開発者:

これが独自のコンバーターを持つ私のクラスです

コンバーターは次のとおりです。

myDomain には がありList<MyClass<?>> myClasses、カスタム コンバーターが使用されているため、これは正常に機能します。

デバッグ出力から見ることができるもの:

そして、私の db.myCollection.find().pretty(); からの結果があります。:

挿入操作はすべて問題ありません...

しかし、次のように $set を既存のドキュメントに更新すると:

デバッグ出力は同じままです:

しかし、結果はカスタム コンバーターを使用せず、"_class" 属性を使用しない場合のようになります。

私の現在の結論は次のとおりです。

  • 新しいドキュメントを挿入する場合、カスタム コンバーターは正常に動作します
  • ただし、更新については、カスタムコンバーターが呼び出されているように見えますが(デバッグ出力があります)、実際の更新を行うためにデフォルトの MappingMongoConverter を使用しているようです。

何か足りないのですか?あなたの考えを共有してください..

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

java - クラス継承のための Spring Data MongoDb

MongoDb の 1 つのコレクションに異なるデータを格納し、Spring データ Bean に適切なフィールドを設定したいと考えています。

申し訳ありませんが、詳細をスキップしました。

親ビーン:

チャイルズ:

したがって、mongoには次のドキュメントがあります

データを取得すると、問題ありません。しかし、B の CrudRepository からsaveメソッドを呼び出すと、すべてのデータが書き換えられ、C が失われます。

次のように、増分更新を使用してカスタム保存方法を作成するための良いオプションを 1 つだけ知っています。

しかし反省あり。

他にアイデアはありますか?

前もって感謝します。

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

mongodb - mongoDBから要素値を取得する方法は?

次のコレクションがあるとします。

id1、name、id、label、またはその他の要素を取得するにはどうすればよいですか?

_idフィールド、DATA(完全な配列)を取得できますが、DATAの内部要素は取得できません。

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

java - MongoDBオブジェクトインスタンス

データベースの使用経験はありませんが、作成中のアプリで使用する必要があるため、MongoDBを選択します。

これですべてが機能していますが、データベースにリクエストを送信するたびに新しいMongoオブジェクトを作成しており、それが間違っていることを理解しています。

だから私はこれを行う正しい方法を尋ねて学びたいのです、私は次のようなコードをクラスに持っていますMongoDbConnnection

そのため、クエリを実行する必要があるたびに、実行してMongo m = MongoDbConnnection.getMongo();先に進みます。

これは正しいです?

また、接続を閉じるタイミングについても混乱しています。拡張HttpServletしてGETに応答する別のクラスがあるため、誰かがそのURLを要求するたびに、データベースにクエリを実行して情報を返す必要があります。あるリクエストに応答した直後に閉じた場合、その直後に他の人が再度リクエストした場合はどうなりますか。次に、新しいMongoオブジェクトを再度作成する必要がありますか?

言い換えると、Mongoインスタンスが接続ポーリングを維持していることを知っているので、m.close()を呼び出すと、使用した接続を置き換えるだけですか、それともオブジェクトmをnullに設定しますか?

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

java - @DbRef アノテーションで GridFSFile を参照する方法 (Spring Data mongodb)

私は春の@Documentを持っていますobject Profile

私はそれのように GridFSFile を参照したいと思います:

ファイルは、別のコレクション タイプの GridFS に書き込まれます。

私はいつもjava.lang.StackOverflowError私が設定したときを持っていますprofile.setFile(file);

私が興味を持っているファイルを参照するアイデアを持っている人がいるかどうかわかりません

ありがとう、ザビエル

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

mongodb - mongo がインストールされていないマシンで Mongo mapreduce ジョブを実行する

Java プログラムから実行する必要がある一連の mapreduce ジョブがあります。今、私は Java Process 呼び出しを介してそれらを実行しています

Mongo を搭載していないマシンでこれらの mapreduce taks を実行する方法はありますか。mongo Java ドライバーはそのような機能をサポートしていますか?

ありがとう!

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

mongodb - 保存時にmongoがスペースをトリミングするのはなぜですか?

ドキュメントをコレクションに保存するときに、MongoDB が複数のスペースを (1 つのスペースに) まとめていることに気付きました。先頭と末尾のスペースだけでなく、スペースの任意のシーケンス - すべての空白ではなくスペースのみ (スペースとタブでのみテスト済み)。これは、Java ドライバーと対話型の mongo シェルを使用しているときに発生するため、データストア自体の「機能」であると推測しています。

確かに、私は自分の値に余計な空白を入れるのが好きではなく、それらを取り除く過程でこれを発見しました。ただし、この動作は奇妙に思えます。なぜなら、データストアは通常、基になるストレージの制約に準拠するために最低限必要なものを超えてデータを「クック」またはその他の方法で変更することを控えることが期待されているためです。そうしないと (ユーザー/開発者に宣言されていない場合)、データや精度が失われる可能性があります。また、スペースを先頭と末尾で完全にトリミングするのではなく、スペースを折りたたむのはなぜですか?

この機能を誤って有効にしましたか、それともデフォルトで有効になっていますか? JIRAで何も見つかりませんでした。これは私にはバグのように思えますが、もしかしたら私が特別なのかもしれません。MongoDB バージョン 2.0.2