【发布时间】:2015-08-13 19:04:14
【问题描述】:
当我在 localhost 环境中启动我的 Sails 应用程序并将其加载到浏览器中时,视图将呈现正常,对另一个(非 mongo)资源的异步请求工作正常,但是任何返回到获取数据的 Sails 的异步请求from Mongo 仅在应用启动的最初几分钟内有效。
只要我在最初的几分钟内收到一个请求,我就可以提出尽可能多的请求。除此之外,如果我等待整整 2 或 3 秒,呼叫将始终停止。
以下是使用原生查询的示例:
Item.native(function (error, collection) {
collection.find().sort({'count': 1}).limit(parseInt(count)).toArray(function(error, data) {
console.log(error, data);
return res.send(data);
});
});
另一个使用 Waterline 的例子:
Item.find().sort('count ASC').limit(count).exec(function (error, data) {
console.log(error, data);
return res.send(data);
});
当它停止时,永远不会调用回调,因此控制台不会记录任何错误。
我尝试单步执行代码,但似乎逻辑流程只是从一个内部 _dispatch() 函数反弹到几个 bind 函数,然后来回循环。
我可以从 Mongo 控制台验证查询是否正常工作,并且我在应用程序启动时使用 Waterline 为我的数据库播种,这也工作正常。我还可以正常访问集合(使用native 执行的第一个回调)。我觉得我开始没有想法了,所以任何帮助都会很棒。感谢您的观看。
这是我正在运行的参考:
- 帆:0.11.0
- mongo:2.6.10
- sails-mongo:0.11.0
【问题讨论】:
标签: node.js mongodb express sails.js waterline