sql >> Database >  >> NoSQL >> MongoDB

Hoe array in Mongodb-document te filteren met Spring

Zoals je al zei zal elemMatch alleen het eerste object in een array ophalen, dus je moet geaggregeerde toekomst gebruiken om je output te bereiken

    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. MongoDB lijst projectie van subveld

  2. Azure Redis cache - meerdere fouten TimeoutException:time-out bij het uitvoeren van GET {key}

  3. mongodb 3.x-stuurprogramma Android-compatibiliteit

  4. Een geneste array bijwerken met MongoDB