通过_id反向排序(日期)不与MeteorJS Collection一起使用

时间:2015-07-12 19:04:53

标签: mongodb meteor

知道为什么这不是按逆时间顺序排序(基于创建的日期)? myPosts.find({}, {sort: {_id: -1}}).fetch()

这是有效的,但我读过不要相信它按创建日期排序。 Tweets.find().fetch().reverse()

2 个答案:

答案 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不起作用。