知道为什么这不是按逆时间顺序排序(基于创建的日期)?
myPosts.find({}, {sort: {_id: -1}}).fetch()
这是有效的,但我读过不要相信它按创建日期排序。
Tweets.find().fetch().reverse()
答案 0 :(得分:2)
_id
字段是随机散列,您不应该使用它进行排序。相反,您应该将日期插入到文档中:
Tweets.insert({
content: 'Blah blah blah',
dateCreated: new Date()
});
然后Tweets.find({}, {sort: {dateCreated: -1}})
。除非您确实需要一组对象,否则请记住不要使用.fetch()
。如果您从Meteor帮助函数或相关上下文返回,请不要使用.fetch()
。
答案 1 :(得分:2)
来自Meteor文档:
Meteor创建的ObjectID值对其getTimestamp方法没有有意义的答案,因为Meteor目前完全随机构建它们。
见Mongo.ObjectID。因此,按日期排序_id
不起作用。