我在Meteor应用程序的用户集中添加了一个对象数组,称为contacts
。现在看起来像这样:
{
"_id" : "p6c4cSTb3cHWaJqpG",
"createdAt" : ISODate("2016-05-11T11:30:11.820Z"),
"services" : {
.....
},
"username" : "admin",
"emails" : [
{
"address" : "[email protected]",
"verified" : true
}
],
"points" : 28,
"contacts" : [
{
"when" : ISODate("2016-06-02T12:22:53.747Z"),
"who" : "4YBufbE9PByJBkasy"
},
{
"when" : ISODate("2016-06-02T12:00:41.833Z"),
"who" : "EvF7DbFazmiuG86mD"
},
{
"when" : ISODate("2016-06-02T12:21:41.415Z"),
"who" : "MNFTSzjjzmYWgDvey"
}
]
}
我可以在页面上很好地显示联系人,但是它们按照在集合中显示的顺序排列。我想按
when
字段中的日期对它们进行排序。这可能吗?我的助手方法:
Template.contacts.helpers({
'cont': function(){
var user = Meteor.user();
return user;
}
});
和我的模板:
<template name="contacts">
{{#each cont.contacts}}
<h1><a href="/message/{{who}}">{{who}}</a></h1>
{{/each}}
</template>
最佳答案
Akram Saouri处在正确的轨道上,我只需要更深入地研究。因此,我将发布我想到的100%工作解决方案。 The docs are your friend
Client.js:
Template.contacts.helpers({
'cont': function(){
var contacts = Meteor.user().contacts;
var result = contacts.sort(function (a,b) {
if (a.when > b.when){
return -1;
}
if (a.when < b.when){
return 1;
}
return 0;
});
return result;
}
});
火焰模板:
<template name="contacts">
{{#each cont}}
<h1><a href="/message/{{who}}">{{who}}</a></h1>
{{/each}}
</template>