问题:当我在页面中插入元素并将其放在页面上时,在表底部添加了元素,中的表中有来自表的数据。
Posts = new Mongo.Collection('posts');
Meteor.publish('allPosts', function(){
return Posts.find({}, { sort: { date: -1 }} );
});
Meteor.subscribe("allPosts");
Posts.insert({
date: 1
})
Posts.insert({
date: 2
})
Posts.insert({
date: 3
})
<table class=" table">
{{#each posts}}
{{> postJobs}}
{{/each}}
</table>
<template name="postJobs">
<tr class="smallInfo">
<td>{{date}}</td>
</tr>
</template>在DOM中我有:
<table>
<tr>
<td>1</td> // must be 3
</tr>
<tr>
<td>2</td> // must be 2
</tr>
<tr>
<td>3</td> // must be 1
</tr>
</table>我最后的插入必须添加到我的页面(表)的顶部。
编辑:在集合中使用动态插入的问题(我知道-1格拉马提克错误)示例:
Meteor.startup(function(){
Meteor.setTimeout(function(){Test("10");}, 1000);
function Test(x)
{
Posts.insert( {
submitDate: moment().format()
});
}
Meteor.setTimeout(function(){Test("10");}, 10000);如果我按submitDate进行排序,它将显示如下:
<tr><td>10-10-10</td></tr> // must be 10-10-20
<tr><td>10-10-20</td></tr> // must be 10-10-10但当我刷新页面(F5)时,一切正常
<tr><td>10-10-20</td></tr>
<tr><td>10-10-10</td></tr> 发布于 2015-07-12 00:14:00
你为什么不按顺序排序?
{排序:{日期:-1 }}
干杯,汤姆
更新:
您可以在我准备的MeteorPad中找到一个活生生的例子:
Chat
您必须在客户端进行排序,而不是在发布方法中。
这就是为什么您得到第一次排序,然后,就像插入返回。
如果您在客户端find()上进行排序,则minimongo将对每个新文档执行排序。
希望这对你有帮助。汤姆
https://stackoverflow.com/questions/31363060
复制相似问题