Javascript Sails.js模型按字符串名称访问

Javascript Sails.js模型按字符串名称访问,javascript,sails.js,Javascript,Sails.js,有没有办法通过名称包含在字符串中来访问sails中的模型 例如,如果我想创建一个用户,而不是 User.create({name: 'martin'}); 我需要做一些类似的事情 sails['User'].create({name: 'martin'}); 所有对模型的引用都存储在全局可访问的对象sails.models中。您可以使用数组文字符号[]访问任何模型 var model = sails.models['users']; model.create({name: 'martin'}

有没有办法通过名称包含在字符串中来访问sails中的模型

例如,如果我想创建一个用户,而不是

User.create({name: 'martin'});
我需要做一些类似的事情

sails['User'].create({name: 'martin'});

所有对模型的引用都存储在全局可访问的对象sails.models中。您可以使用数组文字符号[]访问任何模型

var model = sails.models['users'];
model.create({name: 'martin'});

同样的规则也适用于控制器和服务。

另外,请注意,在最新版本的sails中,默认情况下,直接访问sails是隐藏的。您必须在config/globals中设置sails:true才能访问sails.modelsthanks以获得答案。我发现另一个解决方案是:
global['users']。create…
哪个更好?我认为两者都可以。我喜欢使用sails.models['users']而不是globals['users']的原因是,即使您关闭了在config/globals.js文件中公开应用程序的模型,您仍然可以通过sails.models访问实例。(正如上面提到的@mandeep_m91,不要忘记设置帆:是的,否则您将无法访问任何内容)