如何在流星中对集合的嵌套数组进行排序?

时间:2016-01-07 23:25:09

标签: meteor

我有一个类似于:http://codepaste.net/kttsj1的节点集合。

我想检索该集合,并使数据字段的数组按相反顺序排序或按outputTime升序排序。然后,我想得到前10个结果(用$ slice工作)。

我怎么能实现这个目标?

谢谢,

焦里

3 个答案:

答案 0 :(得分:1)

我认为你正在寻找这个:

YourCollection.find({},{sort:{name:-1}}); //for descending order

YourCollection.find({},{sort:{name:1}}); //for ascending order

如果您想限制结果数量:

YourCollection.find({},{sort:{name:-1},{limit: 10}});

希望这会有所帮助。

答案 1 :(得分:0)

试试这个:

如果是robomongo:

YourCollection.find({},{sort:{"data.outputTime":1}}).limit(10);

如果是JS:

YourCollection.find({},{sort:{"data.outputTime":1},limit:10});

答案 2 :(得分:0)

我解决了我的问题!

我只是给嵌套数据数组提供了一个名为SensorData的集合,并将其链接到带有id的nodes集合。

现在在Meteor方法中,我可以使用SensorData.find({nodeId:id},{sort:{outputTime:-1},limit 10});.

我必须在一个方法中这样做,因为似乎客户端不支持此查询。 (可能是不支持的排序或限制)

感谢所有回复的人的帮助:)。