繁体   English   中英

Mongodb 查询到 Spring mongoTemplate

[英]Mongodb query to Spring mongoTemplate

我有这个 mongo 查询:

    db.getCollection('My_collection_name').aggregate([
   { $project: { warehouses: { $objectToArray: "$outputVariables" } } },
   { $unwind: "$warehouses" },
   { $group: { _id: "$warehouses.k" }}
])

有人可以帮我在 spring mongoTemplate 中翻译吗?

谢谢

查询应该写如下:

import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;
...

AggregationOperation project = project()
        .and(ObjectToArray.valueOfToArray("outputVariables")).as("warehouses");

AggregationOperation unwind = unwind("warehouses");

AggregationOperation group = Aggregation.group("warehouses.k");

Aggregation aggregation = Aggregation.newAggregation(
                project,
                unwind,
                group);

String collectionName = "My_collection_name";
System.out.println("aggregation=" + aggregation);
this.mongoTemplate.aggregate(aggregation, collectionName, Output.class);

它生成输出:

aggregation={ "aggregate" : "__collection__", "pipeline" : [{ "$project" : { "warehouses" : { "$objectToArray" : "$outputVariables" } } }, { "$unwind" : "$warehouses" }, { "$group" : { "_id" : "$warehouses.k" } }] }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM