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

Mongodb $lookup w danych wiosennych mongo

Łączenie dwóch kolekcji za pomocą Spring Data MongoDB

Klasa pracownika

class Employee {
    private String _id;
    private String name;
    private String dept_id;
}

Klasa wydziału

class Department {
    private String _id;
    private String dept_name;
}

Klasa wyników pracowników

public class EmpDeptResult {

    private String _id;
    private String name;
    private List<Object> departments;
}

Klasa obsługi pracownika

public class EmployeeService {

    @Autowired
    private MongoTemplate mongoTemplate;

    private Logger LOGGER = LoggerFactory.getLogger(EmployeeService.class);

    public void lookupOperation(){
    LookupOperation lookupOperation = LookupOperation.newLookup()
                        .from("Department")
                        .localField("dept_id")
                        .foreignField("_id")
                        .as("departments");

    Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(Criteria.where("_id").is("1")) , lookupOperation);
        List<EmpDeptResult> results = mongoTemplate.aggregate(aggregation, "Employee", EmpDeptResult.class).getMappedResults();
        LOGGER.info("Obj Size " +results.size());
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lepszy wzór do filtrowania kolekcji

  2. Wstaw do MongoDB przez Node.js

  3. Zależności Gradle nie działają w IntelliJ

  4. $push i $set w tej samej aktualizacji MongoDB

  5. Rejestruj zapytania MongoDB za pomocą Spring Boot