1

假设我有一个查询

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 并将这些更改传播给客户端,所以我不是在寻找关于它如何实时执行的解释。更多关于它如何(或是否)跟踪哪些查询受更改影响的内容。

4

0 回答 0