我有一个类似于:http://codepaste.net/kttsj1的节点集合。
我想检索该集合,并使数据字段的数组按相反顺序排序或按outputTime升序排序。然后,我想得到前10个结果(用$ slice工作)。
我怎么能实现这个目标?
谢谢,
焦里
答案 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});.
我必须在一个方法中这样做,因为似乎客户端不支持此查询。 (可能是不支持的排序或限制)
感谢所有回复的人的帮助:)。