我在我的项目中使用mongo存储库。我需要使用mongodb的聚合框架,但我无法找到任何有关如何使用mongo存储库进行聚合查询的帮助文档。
我正在使用mongo repository这样的简单查询
@Repository
public interface TaskTypeMongoRepository extends MongoRepository<TaskType,String>{
@Query(value="{ 'subServiceId' : ?0 }", fields="{ 'title' : 1, 'description' : 1,'expiresOn':1,'taskTypeStatus':1}")
List <TaskType> findBySubService(Long subServiceId);
@Query(fields="{ 'title' : 1, 'description' : 1,'expiresOn':1,'taskTypeStatus':1}")
List<TaskType> findByOrganizationId(long organizationId);
List <TaskType> findByIdIn(List<String> taskTypeIds);
TaskType findById(String id);
}
我必须使用此聚合查询
db.task_packages.aggregate([
{
$unwind: "$taskTypeIds"
},
{
$lookup:
{
from: "taskType",
localField: "taskTypeIds",
foreignField: "_id",
as: "task_types"
}
},
{ "$unwind": "$task_types" },
{
"$group": {
"_id": "$_id",
"packageName":{"$first":"$packageName"},
"task_names": { "$push": "$task_types.title" }
}
},
{
"$project": {
"packageName": 1,
"task_names" : 1
}
}
])
我使用模板方法使用聚合查询,但现在不使用如何使用存储库?