sql >> Databáze >  >> NoSQL >> MongoDB

Jak filtrovat pole v dokumentu Mongodb pomocí Spring

Jak jste řekl, elemMatch načte pouze první objekt v poli, takže k dosažení výstupu musíte použít agregovanou budoucnost

    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. Jak se vzdáleně připojit k mému MongoDB na mém serveru pomocí Java?

  2. Aktualizovat pole Mongo:odebrat dynamický klíč

  3. MongoDB+Java:V uživatelském dokumentu chybí přihlašovací údaje

  4. Jak výsledky řazení v nodejs - mongodb hledání, ale voláním dynamické metody