假设我有一个类似
的查询 我在服务器上发布的 Users.find().sort({score: 1}).limit(3)
。
所以,我有一些像这样的代码:
Meteor.publish("leaders", function () {
return Users.find().sort({score: 1}).limit(3)
});
现在,让我们说,Users
集合中有一些更改(插入/更新/删除)。
所有该集合上的查询是否再次运行?或者Meteor只运行某些查询,这些查询的结果可能因数据库更改而实际发生变化?
例如,返回前三个用户Users.find().limit(3)
的查询将在新插入后返回相同的值,因此重新运行它将不会产生任何影响。
编辑:我知道Meteor会将Mongo oplog拖尾并将这些更改传播给客户端,所以我不是在寻找有关它如何实时的解释。更多关于如何(或是否)跟踪哪些查询受更改影响。