mongodb - Sails.js + MongoDB 在提升时经常抛出错误 "` orm` 加载时间太长”

标签 mongodb sails.js sails-mongo

为什么会出错

`Error: The hook 'orm' is taking too long to load.` 

起 sails 时经常出现?即使 orm timeout 已经设置为 100000,它仍然有时会发生(不总是)。通常发生在 PC 重新启动并且 sails 首次运行之后。

它也经常发生在我的 PC 旁边的云服务器和我的笔记本电脑上。所以它发生在我的测试环境中:

  • Windows 8.1(个人电脑和笔记本电脑)和 Linux (Ubuntu 14.04)
  • node.js 版本 0.10.38
  • sails 0.11 版
  • MongoDB 第 3 版

完整的报错是这样的

error: Error: The hook `orm` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.orm._hookTimeout to a higher value (currently 20000)
  at [object Object].tooLong [as _onTimeout] (D:\Workspace\Hellowin\cannes\node_modules\sails\lib\app\private\loadHooks.js:92:21)
  at Timer.listOnTimeout [as ontimeout] (timers.js:112:15) { [Error: The hook `orm` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.orm._hookTimeout to a higher value (currently 20000)] code: 'E_HOOK_TIMEOUT' }

D:\Workspace\Hellowin\cannes\node_modules\sails\node_modules\async\lib\async.js:30
        if (called) throw new Error("Callback was already called.");
                          ^
Error: Callback was already called.
  at D:\Workspace\Hellowin\cannes\node_modules\sails\node_modules\async\lib\async.js:30:31
  at process._tickDomainCallback (node.js:492:13)

它是 MongoDB 适配器错误吗?

最佳答案

我最近遇到了同样的错误,并在我的一个模型中发现了语法错误。现在它工作正常。所以基本上这个错误是由于与数据库相关的一些错误而发生的。您可以检查您的型号、连接等。

关于mongodb - Sails.js + MongoDB 在提升时经常抛出错误 "` orm` 加载时间太长”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712172/

相关文章:

node.js - 配置 sails.js 不缓存响应

node.js - 如何为基于 Express 构建的 REST API 实现 CAS 身份验证

Sails.js 复合唯一字段

mongodb - 如何在 Sails 中创建应用程序时覆盖 Mongodb 中的对象 ID

node.js - 如何在 sailsjs 中动态地使用与一个模型的多个数据库连接?

c# - 如何在 C# 和 MongoDB 版本 ="2.2.3"中向 IMongoCollection 动态添加过滤器?

linux - 关闭 Docker 容器内的 MongoDB 会导致 100% CPU

node.js - Mongoose 模式最有效的结构

javascript - MapReduce 和 MongoDB

javascript - Sails.js:嵌套的 MongoDB 查询