在Meteor中,当发布具有限制的搜索结果时,为什么会出现" .count"在结果显示超过限制?

时间:2015-04-15 20:30:58

标签: mongodb meteor

我正在发布搜索结果,我将结果限制为500:

 Meteor.publish("myPublish", function (status) {
    var foundOnServer = MyCollection.find({"status": status}, {limit: 500, sort: {"someField": 1}});
    console.log("returning " + foundOnServer.count() + " documents from server");
    return foundOnServer;

  });

但是当查询导致超过500个文档时,console.log会显示实际数字(超过500个),但在客户端上,我只能获得500个文档。所以,似乎它被正确限制,但我不明白为什么控制台会报告实际的文档数量,而忽略了限制。

1 个答案:

答案 0 :(得分:1)

感谢@Curtis,这是一个众所周知的问题: https://github.com/meteor/meteor/issues/1503

所以,如果你想用console.log“证明”你得到了你要求的记录数,你应该这样做:

console.log("returning " + foundOnServer.fetch().length + " documents from server");

但也可能有趣的是记录.count的结果,因为它会在查询超过限制时显示。