MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Spring Data Mongo - Изпълнява различни, но не иска да изтегля вградени документи в резултатите

Агрегацията получава отделния departments.deptCd стойности (плюс други подробности):

db.collection.aggregate( [
{
    $group: { _id: "$departments.deptCd", 
             deptName: { $first: "$departments.deptName" },
             status: { $first: "$departments.status" }
    }
},
{
    $project: { deptCd: "$_id", _id: 0, deptName: 1, status: 1 }
}
] )

Резултатът:

{ "deptName" : "Tax Handling Dept", "status" : "A", "deptCd" : "Tax" }

[ РЕДАКТИРАНЕ НА ДОБАВЯНЕ ]

Код с помощта на Spring Data MongoDB v2.2.7:

MongoOperations mongoOps = new MongoTemplate(MongoClients.create(), "testdb");
Aggregation agg = Aggregation.newAggregation(
    Aggregation.group("departments.deptCd")
        .first("departments.deptName").as("deptName")
        .first("departments.status").as("status"),
    Aggregation.project("deptName", "status")
        .and("_id").as("deptCd")
        .andExclude("_id")
);
AggregationResults<Document> results = mongoOps.aggregate(agg, "collection", Document.class);
results.forEach(System.out::println);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да изчислим разликата в времевата марка в mongodb (в часове)?

  2. BsonValue и персонализирани класове в MongoDB C# драйвер

  3. Грешка в MongoDB Atlas:невалидна схема, очаква се mongodb

  4. Има ли начин да получите модифицирания IDS от груповите операции на mongodb с помощта на mongoose?

  5. Агрегирана заявка в Mongodb връща конкретно поле