如何在Meteor中使用时间戳并保留插入顺序?

Ton*_*ell 4 meteor

是否可以保留插入顺序或在Meteor中设置可靠的时间戳,因为如果没有指定排序,MongoDB不保证按插入顺序返回项目,文档的_id是随机生成的,并且在插入时手动设置时间戳将取决于客户的时钟?

deb*_*lis 7

我建议一种方法.

Meteor.methods({
  addItem: function (doc) {
    doc.when = new Date;
    return Items.insert(doc);
  }
});
Run Code Online (Sandbox Code Playgroud)

虽然客户端将在本地运行并设置when为其当前时间,但服务器的时间戳优先并传播到所有订阅的客户端,包括原始客户端.你可以排序doc.when.

我们可能会添加钩子来自动设置时间戳,作为文档验证和权限的一部分.