問題タブ [spring-mongodb]

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

mongodb - Mongodb での大きな検索クエリ中に追加された不明なドキュメントをキャプチャする

私はすべてを a にロードするのが不思議Spring Mongo APIでした。検索結果に数十億件のレコードが含まれている場合、メモリに影響はありませんか? これをすべてメモリにロードせずに、これを達成するためのより良い方法を誰かが提案できますか。limit を使用すると役立つ場合がありますが、新しいドキュメントがコレクションに挿入されているかどうかがわからないという欠点があります。レコードを読み取った後にコレクションが変更された場合、制限による検索は同じ効果があります。findListX of billion

2つの質問:

  • すべてをメモリにロードしないことでパフォーマンスを向上させる
  • 処理中に追加されたこの未知のドキュメントをどのように解決しますか?

API からのコード

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

spring - @Query を使用して MongoDB $sum の結果を返す方法はありますか?

私は(質問者として)MongoDBとStackOverflowの両方にかなり慣れていません。@Query アノテーション ( Count in Spring data mongodb repository )を使用して、Spring リポジトリから MongoDB の「カウント」プロジェクションを返す方法について、素晴らしい反応を見てきました。

基本的にカウントの例は次のようになります: @Query(value = "{'productDetails.productType': {$regex: ?0, $options: 'i'}, 'sourceDescriptor': ?1}", count = true)

...そして、メソッドは int を返します。同様のことをしたいのですが、返される int はカウントではなく合計です。@Query アノテーションは、sum() 操作をサポートするように作成されたようには見えませんが、それが必要です。

必要な結果を得るには、ドキュメントのコレクションを反復処理する必要があるのではないかと心配しています。

トランザクションのコレクションがあります (借方と貸方、正と負の金額など)。以下は、トランザクション データのシミュレーションです。

[{ "action" : "AWARD", "amount" : 9000, "notes" : "初期残高", "username" : "aa" }, { "action" : "PAYOUT", "amount" : 1800," notes" : "Earnings", "username" : "aa" }, { "action" : "WITHDRAWAL", "amount" : -5000, "notes" : "直接入金 /r#e#d#a#c# t#e#d/", "username" : "aa" }, { "action" : "AWARD", "amount" : 7000, "notes" : "初期残高", "username" : "bb" }]

リポジトリを使用して、特定のユーザー名のさまざまなトランザクションの正味 (合計) を取得したいと考えています。そして、可能であれば、すべての Mongo ドキュメントのリストを返さずに、それらを繰り返し処理して合計を取得したいと思います。

@Query アノテーションを使用してこれを行う方法はありますか?

これは私の最初の質問です。的外れでしたらご容赦ください。

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

spring-mongo - Spring Mongoはjson文字列からドキュメントに変換します

@Document で注釈が付けられた Mongo コレクションがあり、これらのクラスを文字列としてキューにプッシュしているため、文字列 (JSON) からその Java オブジェクトを取得する可能性も必要です。

JSON から実際の Document オブジェクトに変換する Spring-Data-Mongo のメソッドはありますか?

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

java - カスタム DBObject から Java へのコンバーターを実装するときのデフォルトのデシリアライズ動作

Converter < FROM , TO > インターフェイスを実装して、一部のオブジェクトのカスタム シリアライザーとデシリアライザーを作成しています。また、シリアライゼーションのいくつかの時点で、MappingMongoConverter.convertToMongoType を呼び出すだけでデフォルトの動作に戻すことができますが、カスタム デシリアライザーからデフォルトのデシリアライゼーション動作を呼び出す方法がよくわかりません。

したがって、逆シリアル化されているオブジェクトのタイプを確認し、それが気にしないオブジェクト (オブジェクトがコレクション内にある) であると判断したら、デフォルトの逆シリアル化メカニズムでオブジェクトを処理できるようにします。ただし、これを行う何か (MappingMongoConverter?) でメソッドを呼び出す方法を完全に理解することはできません。

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

java - Spring data - グループ化から個別のアイテムをカウントする

このように place_id と user_id を含む場所への訪問ユーザーのデータベースがあります

そして、それぞれの場所で異なるユーザー数を取得したいと考えています。最終的に、次のネイティブ mongo アグリゲーションになりました。

そして今、私はSpring Dataを使用してそれを実装したいと思っています.SpringデータAPIにはそのようなものがないため、少なくとも私はそれを参照していません.

ネストされた API を使用できるよりも、サイズ フィールドを作成する方法もあるかもしれません。

どんな助けでも大歓迎です。

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

java - mongodb mongoTemplateは、いくつかの基準で個別のフィールドを取得します

私のMongoDB json構造は

ソースが公開されているデータセットとは異なるコレクションを取得する必要があります。このクエリを試しましたが、うまくいきませんでした:

助けてもらえますか?