【发布时间】:2015-08-09 22:06:59
【问题描述】:
我正在尝试通过 sails.models.['CollectionName'] 访问模型组件,因为这些 CollectionName 将被动态发送到此功能中。但它会抛出未定义的错误。
/sails12.rc3/myapps/api/services/UserService.js:86
var findQuery = sails.models['User'].find({id: inputID
^
/sails12.rc3/myapps/api/services/UserService.js:86
var findQuery = sails.config.models['User'].find({id: inputID
^
/sails12.rc3/myapps/api/services/UserService.js:86
var findQuery = sails.config.models['user'].find({id: inputID
^
TypeError: Cannot read property 'find' of undefined
at Object.UserService.formNewData
(/sails12.rc3/myapps/api/services/UserService.js:86:52)
at Object.bound [as formNewData] (/usr/local/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
at /sails12.rc3/myapps/api/services/UserInfoService.js:330:37
at fn (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:638:34)
at Immediate._onImmediate (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:554:34)
at processImmediate [as _immediateCallback] (timers.js:358:17)
请注意 sails.config 运行良好..
我正在使用 SailsJS 12 rc 3。(我的意思是此时的最新版本)。
您能否建议我有关这方面的故障排除。
更新 1: 嗨,杰森, 在所有 3 种情况下,相同的错误。 我可以从技术上确认你是对的 http://sailsjs.org/documentation/reference/configuration/sails-config-models
不过,我不确定是否需要更新
http://sailsjs.org/documentation/anatomy/my-app/config/models-js
目前在 config/models.js 中,
module.exports.models = {
connection: 'mongoDB',
migrate: 'alter'
}
请建议我是否需要更新此 models.js 文件中的任何配置值?
更新 2
https://github.com/balderdashy/sails/blob/master/lib/hooks/orm/build-orm.js 我可以看到这些全局值的以下值
sails.config.models { connection: 'mongoDB', migrate: 'alter' }
sails.config.globals { adapters: true, models: true, services: true }
sails.config.globals.models true
因此我的不工作..请提出一些选择。
更新 3
谢谢特拉维斯。 Sails.models['user'].find 工作正常,SailsJS 版本没有任何变化。所以,让我再测试一段时间。
Ps:不确定,为什么我无法直接在下方添加评论(MAC / chrome 浏览器)。所以,现在,编辑这个问题本身。
【问题讨论】:
-
我希望下面的答案有所帮助。如果您想要其他资源,这里有一个用于sails.js、node.js 和水线问题的聊天室。 gitter.im/balderdashy/sails
标签: sails.js sails-mongo