問題タブ [mongorepository]
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 - 特定のユースケース向けの MongoTemplate と MongoRepository
mongodb を使用して Web アプリを構築していますが、リスト API の 1 つでページネーションが必要です。mongodb でページネーションを実装する方法について読んだところ、以下のように MongoRepository を使用してのみ実装できることがわかりました。
私の理解では、すべてのデータをフェッチせずに MongoTemplate を使用してページネーションを行う方法はありません。
また、私のユースケースには複雑な検索が含まれており、MongoTemplate の方がきめ細かい制御が可能であることがわかります。
どうすれば両方の mongo dao レイヤーを最大限に活用できますか?
java - mongoRepository リストのクエリ
次のフィールドを持つドキュメントを含む MongoDB コレクションがあります。
- 日付 (日付オブジェクト)
- offerType (文字列)
MongoRepository を使用して、日付の範囲内の日付を持ち、 offerType に list で提供される文字列の 1 つが含まれるすべてのドキュメントを検索するメソッドを作成したいと考えています。
例
ドキュメント:
- 日付: 2019 年 10 月 4 日、オファーの種類: オファー 1
- 日付: 2019 年 11 月 4 日、オファーの種類: オファー 3
- 日付: 2019 年 4 月 15 日、オファーの種類: オファー 2
- 日付: 2019 年 4 月 15 日、オファータイプ: オファー 1
私が欲しい:
- 2019 年 9 月 4 日から 2019 年 4 月 12 日までの日付
- 次のオファー: offer1、offer3
前の例では、ドキュメント 1 と 2 を取得します。
私のコード
MongoRepository と、必要なフィールドを含むカスタム オブジェクトを使用します。
ドキュメントクラスは次のとおりです。
MongoRepository の最初のメソッドは正常に機能します。2 番目のものは代わりに空のリストを返します。
問題は、mongoRepository にクエリを実行して、引数として渡されたリストの値の 1 つを含むことができるフィールドを検索することです。
この実装の何が問題になっていますか? このクエリを実装するより良い方法はありますか?
mongodb - 一意のインデックスを無視するmongoDB
REST サービスを構築したところ、Gson を使用して ObjectId から生成された JSON 文字列が、spring-boot によって生成されるものとは異なる形式になることがわかりました。また、既存の Document の _id フィールドの ObjectId を GSON 形式で REST サービスに送信し、mongorepository の保存機能を使用してコレクションに保存すると、一意のインデックスが設定されていても、重複した _id を持つ新しい Document が挿入されます。分野。しかし、Spring-Boot によって生成された形式で ObjectId を送信すると、すべてが完全に機能します。何がそのような問題を引き起こしたのだろうか?