【问题标题】:A hook (`orm`) failed to load! for Mongodb一个钩子(`orm`)加载失败!对于MongoDB
【发布时间】:2018-12-12 01:49:17
【问题描述】:

有人可以帮忙吗??

错误:钩子 (orm) 加载失败! 错误:无法拆除 ORM 挂钩。错误详细信息:错误:一致性冲突:尝试拆除当前未向此适配器注册的数据存储 (default)。这通常是由于用户态代码中的竞争条件(例如,多次尝试拆除同一个 ORM 实例),或者可能是由于此适配器中的错误。 (如果你被难住了,请联系http://sailsjs.com/support。) 在 Object.teardown (D:\gcloud\test01-2\node_modules\sails-mongo\lib\index.js:390:19) 在 D:\gcloud\test01-2\node_modules\waterline\lib\waterline.js:758:27 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:3047:20 在 eachOfArrayLike (D:\gcloud\test01-2\node_modules\async\dist\async.js:1002:13) 在 eachOf (D:\gcloud\test01-2\node_modules\async\dist\async.js:1052: 9) 在 Object.eachLimit (D:\gcloud\test01-2\node_modules\async\dist\async.js:3111:7) 在 Object.teardown (D:\gcloud\test01-2\node_modules\waterline\lib\waterline. js:742:11) 在 Hook.teardown (D:\gcloud\test01-2\node_modules\sails-hook-orm\index.js:246:30) 在 Sails.wrapper (D:\gcloud\test01-2\node_modules\@sailshq\lodash\lib\index.js:3275:19) 在 Object.onceWrapper (events.js:313:30) 在 emitNone (events.js:106:13) 在 Sails.emit (events.js:208:7) 在 Sails.emitter.emit (D:\gcloud\test01-2\node_modules\sails\lib\app\private\after.js:56:26) 在 D:\gcloud\test01-2\node_modules\sails\lib\app\lower.js:67:11 在 beforeShutdown (D:\gcloud\test01-2\node_modules\sails\lib\app\lower.js:45:12) 在 Sails.lower (D:\gcloud\test01-2\node_modules\sails\lib\app\ lower.js:49:3) 在 Sails.wrapper [as lower] (D:\gcloud\test01-2\node_modules\@sailshq\lodash\lib\index.js:3275:19) 在 whenSailsIsReady (D:\gcloud\test01-2\node_modules\sails\lib\app\lift.js:68:13) 在 D:\gcloud\test01-2\node_modules\sails\node_modules\async\dist\async.js:3861:9 在 D:\gcloud\test01-2\node_modules\sails\node_modules\async\dist\async.js :421:16 在 iterateeCallback (D:\gcloud\test01-2\node_modules\sails\node_modules\async\dist\async.js:924:17) 在 D:\gcloud\test01-2\node_modules\sails\node_modules\async\dist\async.js:906:16 错误: 错误:错误:一致性冲突:创建数据库连接管理器时出现意外错误: ``` ImplementationError:运行createManager 时发生内部错误。得到非错误:{ MongoError:连接 0 到 cluster0-shard-00-00-cqwe8.mongodb.net:27017 已关闭 在 Function.MongoError.create (D:\gcloud\test01-2\node_modules\mongodb-core\lib\error.js:29:11) 在套接字。 (D:\gcloud\test01-2\node_modules\mongodb-core\lib\connection\connection.js:202:22) 在 Object.onceWrapper (events.js:315:30) 在 emitOne (events.js:116:13) 在 Socket.emit (events.js:211:7) 在 TCP._handle.close [as _onclose] (net.js:557:12) 名称:'MongoError', 消息:'连接 0 到 cluster0-shard-00-00-cqwe8.mongodb.net:27017 已关闭'}

如果你是“createManager”的维护者,那么你可以改变它的实现来解决问题(大多数时候,解决方案只是抛出一个实际的错误实例。或者,如果目标是指示一个特定的例外,您可以抛出任何特殊的、保留的“退出信号”——例如,除了“错误”或“成功”之外的任何已定义退出的代号)。否则,请向维护者提交错误报告,或者复制您自己的副本并修复它。 [?] 请参阅https://sailsjs.com/support 寻求帮助。 在 Object.registerDatastore (D:\gcloud\test01-2\node_modules\sails-mongo\lib\index.js:263:18) 在 D:\gcloud\test01-2\node_modules\waterline\lib\waterline.js:714:27 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:3047:20 在 eachOfArrayLike (D:\gcloud\test01-2\node_modules\async\dist\async.js:1002:13) 在 eachOf (D:\gcloud\test01-2\node_modules\async\dist\async.js:1052: 9) 在 Object.eachLimit (D:\gcloud\test01-2\node_modules\async\dist\async.js:3111:7) 在 Object.initialize (D:\gcloud\test01-2\node_modules\waterline\lib\waterline. js:650:11) 在 buildOntologyAndRunAutoMigrations (D:\gcloud\test01-2\node_modules\sails-hook-orm\lib\build-ontology-and-run-auto-migrations.js:55:7) 在 async.auto._buildOntology (D:\gcloud\test01-2\node_modules\sails-hook-orm\lib\initialize.js:456:7) 在 runTask (D:\gcloud\test01-2\node_modules\async\dist\async.js:1660:17) 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:1602:17 在 processQueue (D:\gcloud\test01-2\node_modules\async\dist\async.js:1612:17) 在 taskComplete (D:\gcloud\test01-2\node_modules\async\dist\async.js:1630:13) 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:1653:21 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:339:31 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:847:20 在 async.auto._checkAdapterCompatibility (D:\gcloud\test01-2\node_modules\sails-hook-orm\lib\initialize.js:428:14) 在 runTask (D:\gcloud\test01-2\node_modules\async\dist\async.js:1660:17) 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:1602:17 在 processQueue (D:\gcloud\test01-2\node_modules\async\dist\async.js:1612:17) 在 taskComplete (D:\gcloud\test01-2\node_modules\async\dist\async.js:1630:13) 在 D:\gcloud\test01-2\node_modules\async\dist\async.js:1653:21 ``` 在 Object.error (D:\gcloud\test01-2\node_modules\sails-mongo\lib\index.js:268:21) 在 D:\gcloud\test01-2\node_modules\machine\lib\private\help-build-machine.js:1514:39 在proceedToFinalAfterExecLC (D:\gcloud\test01-2\node_modules\parley\lib\private\Deferred.js:1149:14) 在proceedToInterceptsAndChecks (D:\gcloud\test01-2\node_modules\parley\lib\private\Deferred.js:909:12) 在proceedToAfterExecSpinlocks (D:\gcloud\test01-2\node_modules\parley\lib\private\Deferred.js:841:10) 在 D:\gcloud\test01-2\node_modules\parley\lib\private\Deferred.js:303:7 在 D:\gcloud\test01-2\node_modules\machine\lib\private\help-build-machine.js:952:35 在 Function.handlerCbs.error (D:\gcloud\test01-2\node_modules\machine\lib\private\help-build-machine.js:742:26) 在 connectCb (D:\gcloud\test01-2\node_modules\sails-mongo\lib\private\machines\create-manager.js:130:22) 在 connectCallback (D:\gcloud\test01-2\node_modules\mongodb\lib\mongo_client.js:428:5) 在 D:\gcloud\test01-2\node_modules\mongodb\lib\mongo_client.js:335:11 在 _combinedTickCallback (internal/process/next_tick.js:131:7) 在 process._tickDomainCallback (internal/process/next_tick.js:218:9)

【问题讨论】:

    标签: mongodb sails-mongo


    【解决方案1】:

    您应该设置 config.datastore.default.adapter: 'sails-mongo'。此外,如果您在 db 中有数据时修改了模型,则应该删除它。

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2017-08-14
      • 1970-01-01
      • 2017-06-12
      • 2016-07-04
      • 2016-09-01
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      相关资源
      最近更新 更多