sql >> データベース >  >> NoSQL >> MongoDB

Springを使用してMongodbドキュメントの配列をフィルタリングする方法

    あなたが言ったように、elemMatchは配列の最初のオブジェクトのみを取得するので、出力を達成するには、aggregatefutureを使用する必要があります

        MatchOperation match = Aggregation.match(Criteria.where("_id.teacherId").is("1").and("groups.students").in(11));
        UnwindOperation unwind = Aggregation.unwind("groups");
        GroupOperation group = Aggregation.group("_id").push("groups").as("groups").first("points").as("points");
        Aggregation aggregation = Aggregation.newAggregation(unwind, match, group);
        AggregationResults<BasicDBObject> groupResults = mongoTemplate.aggregate(aggregation,
                        CustomGroupsDocument.class, BasicDBObject.class);
        List<BasicDBObject> result = groupResults.getMappedResults();
    



    1. 集計でフィールドの最も頻繁に発生する値を見つける必要があります

    2. MongoDB&CodeIgniter:フィールドが存在する場所を選択します

    3. 文字列をBSONに変換する方法は?

    4. Mongoシェルはファイルからクエリを実行し、結果を表示します