项目作为spring mongo中的嵌套文档 [英] Project as nested document in spring mongo

查看:37
本文介绍了项目作为spring mongo中的嵌套文档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找翻译来改变这个:

I'm looking for a translator to change this :

getCollection('migrate').aggregate([  
{ "$project": {  
"Contrat": {"Field1":"$Field1", "Field2":"$Field2"},
"Formule": {"Field3":"$Field3", "Field4":"$Field4"}  
    }},  
    { "$project": {  
      "Contrats": {"Contrat":"$Contrat", "Formule":"$Formule"}  
    }}  
])  

到 MongoJava 聚合框架.类似的东西:

to MongoJava aggregation framework. Something like :

AggregationOperation project = Aggregation.project("Field1,Field2");  // while naming it "Contrat"
AggregationOperation project2 = Aggregation.project("Field3,Fiel4");  // while naming it Formule
AggregationOperation project3 = Aggregation.project("Contrat,Formule");   // while naming it " Contrats"

AggregationOperation out = Aggregation.out("test");

Aggregation aggregation = Aggregation.newAggregation(project, project2, project3, out);

mongoTemplate.aggregate(aggregation, "<nameOfInitialCollection>", Class.class);

我在文档中找不到我的答案,我认为这太差了,或者我可能太迷失了(|哑).

I can't find my answers in the documentation, which I think is too poor, or I may be too lost in it ( | dumb).

我会提前谢谢你.

推荐答案

你可以使用下面的聚合.

You can use below aggregation.

AggregationOperation project = Aggregation.project().
         and("Contrat").nested(Fields.fields("Field1","Field2")).
         and("Formule").nested(Fields.fields("Field3","Field4"));
AggregationOperation project2 = Aggregation.project().
         and("Contrats").nested(Fields.fields("Contrat","Formule")).
AggregationOperation out = Aggregation.out("test");

Aggregation aggregation = Aggregation.newAggregation(project, project2, out);
mongoTemplate.aggregate(aggregation, "<nameOfInitialCollection>", Class.class);

这篇关于项目作为spring mongo中的嵌套文档的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆