MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Facet + Aggregate Query utilizzando il problema ObjectId con Spring Data Mongo

Stai mappando il campo id in modo errato sia nella fase del progetto che nella fase di gruppo.

Dovrebbe essere _id non id. Cambia anche il tipo di email in String. Funziona per me.

GroupOperation groupOp = Aggregation
            .group("firstName", "lastName", "email", "status", "_id")
            .addToSet("department").as("department").addToSet("address").as("address");

ProjectionOperation projectStage = Aggregation.project("firstName", "lastName", "email", "status", "department", "address", "_id");

...

AggregationResults<EmployeeOutFacet> EmployeeOutList = mongoTemplate.aggregate(aggregation, mongoTemplate.getCollectionName(Employee.class), EmployeeOutFacet.class);