MangoDBのSpring Bootで集計と基準を使用してフィールドの数を含むデータのリストを取得する方法

アビシェククマール:

要件: documents-bookdataコレクションには、bookBookerNameは同じだがbookNameが異なる複数のオブジェクトが含まれる場合があります。複数の本が同じ出版社を持つことができるので、出版社ごとの本の数を抽出する必要があることを意味します。

モデルクラス:

@Document(collection = "documents-bookdata")
public class DocumentsBookdata {

    @Id
    private String bookId;
    private String bookName;
    private String bookPublisherName;
//setters and getters
}

応答フォーマットの曲

public class PublisherBookCount {

private String bookPublisherName;
private int bookCount;
//setters and getters
}

応答フォーマット

 [
 { "bookPublisherName": "docClassA", "bookCount": 3023 },
 { "bookPublisherName": "docClassB", "bookCount": 4100 }
 ]
abhinav kumar:

この要件は論理的に行うこともできます。たとえば、findAllを使用してDocumentsBookdataのリストを取得し、ループを使用してフィルタリングし、出版社ごとの本の数を格納します。しかし、これは長いアプローチになります。コードの下のSOは単にAggregationを使用して取得します出版社ごとの本の数

public List<PublisherBookCount> getBookCOunt(){
    List<PendingDocumentCount> list = new ArrayList<>();
    PublisherBookCount count = null;
    Aggregation aggregation = Aggregation.newAggregation( Aggregation.project("bookPublisherName").andExclude("_id"),
                                                                   Aggregation.sortByCount("bookPublisherName"));
    List<Document> docs=  mongoTemplate.aggregate(aggregation, "documents-bookdata", Document.class).getMappedResults();
          for(Document doc : docs) {
          count = new PublisherBookCount();
              count.setBookPublisherName(doc.get("bookPublisherName").toString());
              count.setBookCount(Integer.parseInt(doc.get("count").toString()));
              list.add(count);
          }
          
          return list;
      }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

集計関数の計算をフィルター基準として使用する方法

分類Dev

mongodbの集計を使用して、複数のフィールドの最大値を含むオブジェクトを取得します

分類Dev

フィールドに入力するための基準として行番号のリストを使用する

分類Dev

Springデータmongodbを使用してフィールドの部分文字列で集計結果を取得する方法

分類Dev

データベースの日付(時刻を含む)をphpテーブルの非表示フィールドの値として使用する方法

分類Dev

すべての列でJavaScriptを使用してテキストフィールドを含むテーブルをフィルタリングする

分類Dev

Rを使用して複数の基準に基づいてレコードをフィルタリングするエレガントな方法

分類Dev

Noneを含むリストのINを使用してdjangoモデルをフィルタリングする方法

分類Dev

すべての基準を満たす必要がある1つのフィールドで複数の基準を使用してクエリを実行する

分類Dev

列をループフィルタリングして、すべての列を含むリストを返します。各列には、フィルタリング基準を満たす対応する行名が含まれています。

分類Dev

ネストされたlapplyを使用して基準をフィルタリングし、複数のデータフレームを作成します

分類Dev

複数の基準を使用して値をフィルタリングするコード

分類Dev

MongoDb集計を使用して、並べ替えられたリストにインデックスを含む$ sort集計パイプラインの後にドキュメントにフィールドを追加します

分類Dev

変数を含む文字列基準を追加するときのGet-ADUserフィルターエラー

分類Dev

ElasticSearchでフィルターを使用してネストされたフィールドを集計するためのクエリ

分類Dev

フィルタを使用してscalaのデータフレームからnull値を含む行のセットを取得する方法

分類Dev

インポートされたデータを最初の列と、メニュータイトルとして「合計」という単語を含む列のみでフィルタリングする方法

分類Dev

標準またはレガシーSQLを使用してbigqueryで2つのフィールドを持つクロス集計を作成する方法

分類Dev

ブートストラップバリデーターを使用して、文字のみを含むフォームフィールドを検証します

分類Dev

値の範囲を含むリストを取得してデータフレームに変換する方法

分類Dev

Excel:複数の(日付)基準とIfステートメントを使用して数式を集計します

分類Dev

ReactJSでRSSフィードを使用して複数のニュースデータを取得する方法

分類Dev

Googleスプレッドシートの正規表現式を使用して、AND引数とOR引数を含む文字列に基づいてフィルタリングする

分類Dev

集計クエリを使用して、合計トランザクション数とトランザクションの詳細を含むユーザーのリストを埋め込みドキュメントとして取得します

分類Dev

集計クエリを使用して、合計トランザクション数とトランザクションの詳細を含むユーザーのリストを埋め込みドキュメントとして取得します

分類Dev

集計と$ lookupを使用して複数のフィールドで$ matchを使用する

分類Dev

Facebookで特定のフィルター基準を指定してすべてのイベントを取得する

分類Dev

AWKを使用してデータフレームの行をフィルタリングし、Xインスタンスを含む特定のフィールドのエントリのみを表示する

分類Dev

複数のデータフレームをループして文字列のリストを取得し、文字列を含む列を検索して、複数の新しいファイルを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    集計関数の計算をフィルター基準として使用する方法

  2. 2

    mongodbの集計を使用して、複数のフィールドの最大値を含むオブジェクトを取得します

  3. 3

    フィールドに入力するための基準として行番号のリストを使用する

  4. 4

    Springデータmongodbを使用してフィールドの部分文字列で集計結果を取得する方法

  5. 5

    データベースの日付(時刻を含む)をphpテーブルの非表示フィールドの値として使用する方法

  6. 6

    すべての列でJavaScriptを使用してテキストフィールドを含むテーブルをフィルタリングする

  7. 7

    Rを使用して複数の基準に基づいてレコードをフィルタリングするエレガントな方法

  8. 8

    Noneを含むリストのINを使用してdjangoモデルをフィルタリングする方法

  9. 9

    すべての基準を満たす必要がある1つのフィールドで複数の基準を使用してクエリを実行する

  10. 10

    列をループフィルタリングして、すべての列を含むリストを返します。各列には、フィルタリング基準を満たす対応する行名が含まれています。

  11. 11

    ネストされたlapplyを使用して基準をフィルタリングし、複数のデータフレームを作成します

  12. 12

    複数の基準を使用して値をフィルタリングするコード

  13. 13

    MongoDb集計を使用して、並べ替えられたリストにインデックスを含む$ sort集計パイプラインの後にドキュメントにフィールドを追加します

  14. 14

    変数を含む文字列基準を追加するときのGet-ADUserフィルターエラー

  15. 15

    ElasticSearchでフィルターを使用してネストされたフィールドを集計するためのクエリ

  16. 16

    フィルタを使用してscalaのデータフレームからnull値を含む行のセットを取得する方法

  17. 17

    インポートされたデータを最初の列と、メニュータイトルとして「合計」という単語を含む列のみでフィルタリングする方法

  18. 18

    標準またはレガシーSQLを使用してbigqueryで2つのフィールドを持つクロス集計を作成する方法

  19. 19

    ブートストラップバリデーターを使用して、文字のみを含むフォームフィールドを検証します

  20. 20

    値の範囲を含むリストを取得してデータフレームに変換する方法

  21. 21

    Excel:複数の(日付)基準とIfステートメントを使用して数式を集計します

  22. 22

    ReactJSでRSSフィードを使用して複数のニュースデータを取得する方法

  23. 23

    Googleスプレッドシートの正規表現式を使用して、AND引数とOR引数を含む文字列に基づいてフィルタリングする

  24. 24

    集計クエリを使用して、合計トランザクション数とトランザクションの詳細を含むユーザーのリストを埋め込みドキュメントとして取得します

  25. 25

    集計クエリを使用して、合計トランザクション数とトランザクションの詳細を含むユーザーのリストを埋め込みドキュメントとして取得します

  26. 26

    集計と$ lookupを使用して複数のフィールドで$ matchを使用する

  27. 27

    Facebookで特定のフィルター基準を指定してすべてのイベントを取得する

  28. 28

    AWKを使用してデータフレームの行をフィルタリングし、Xインスタンスを含む特定のフィールドのエントリのみを表示する

  29. 29

    複数のデータフレームをループして文字列のリストを取得し、文字列を含む列を検索して、複数の新しいファイルを作成するにはどうすればよいですか?

ホットタグ

アーカイブ