2014-09-29 43 views
0

下面是我的虚拟数据。 我想根据类别为Z的changeddate字段对我的班级X数据进行排序。我尝试使用展开操作,但不幸的是,展开只能使用一次。 我也得放松Z级,这样我才能完成排序。但无论如何不能这样做。在mongodb中对多个嵌入数据进行排序

任何帮助将很乐意接受。

在此先感谢。

Class X{ 
     Integer _id; 
     Arraylist<Y> objY; 
     } 

Class Y{ 
    Integer _id; 
    Arraylist<Z> objZ; 
    } 

Class Z{ 
     Integer _id; 
     String value; 
     String oldValue; 
     Date changeddate; 
     } 

回答

0

得到了答案,它可能会帮助别人。这是我做的

db.collection.aggregate( { $project: { 
     _id: 1, 
     objY: 1 
    } }, 
    { $unwind: '$objY' }, 
    { $unwind: '$objY.objZ' } 
); 

这段代码做的是它将展开类Y然后展开类Z,所以现在我们可以执行任何操作。

谢谢

相关问题