【发布时间】:2013-02-12 06:53:03
【问题描述】:
我有一些代码如下所示。我在 Mongo 的关键字集合中有大约 60K 条目。我真的只想要前 25 名,所以我试图设置一个限制查找。我正在运行相同的查询来打印我的结果数量。由于某种原因,限制似乎不起作用,因为我的日志消息说 60K 左右。
这种事情不可能吗?我可以在客户端设置一个有效的限制,但我想我会尝试限制服务器上的东西,这样发送的数据就会更少。
一些附加信息:
- 我用的是我自己的Mongo数据库,不是meteor提供的;用 env 变量指向它
- 0.5.7 版
任何帮助将不胜感激。
if (Meteor.isServer) {
Meteor.startup(function() {
console.log('server startup');
Meteor.publish("keyword_hits", function() {
console.log('keywords: ' + Keywords.find({}, {sort: {count:-1}, limit:25}).count());
return Keywords.find({}, {sort: {count:-1}, limit:25});
});
});
【问题讨论】:
-
啊,我想我找到了,我自己使用了 _id 字段。我将代码更改为使用默认值,现在一切似乎都正常了。我会记得在使用流星时不要管 _id。
-
您好 Eric,您介意将解决方案粘贴为答案并结束问题吗?还是您还需要帮助?
-
我注意到的一件事是您在 console.log 语句中进行排序。如果您只是进行计数,则没有理由进行排序。
标签: performance meteor database-connection subscriptions