MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak filtrować tablicę w dokumencie Mongodb za pomocą Spring?

Jak powiedziałeś, elemMatch pobierze tylko pierwszy obiekt w tablicy, więc musisz użyć agregacji przyszłości, aby osiągnąć swój wynik

    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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Element ściągający MongoDB z tablicy o głębokości dwóch poziomów

  2. Jaka jest różnica między changeStream a tailable kursorem w MongoDB?

  3. Jak uzyskać schemat bazy danych mongoose zdefiniowanej w innym modelu?

  4. „mongorestore” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, działający program lub plik wsadowy

  5. Zainstaluj MongoDB Community Edition 4.0 w systemie Linux