Articles of sails.js

Sails Waterline SQLjoin填充

水线是否支持执行SQL连接(除了query() )? 我在模型中build立了关联,但是生成的实际SQL查询是循环select语句。 目前是否只支持“n + 1select”? 我在某处丢失configuration选项吗? 下面是一个1->许多填充循环select语句的例子:(sails / waterline / sails-mysql v0.10.0-rc8) /** * City.js */ module.exports = { "adapter": "someMysqlServer", "tableName": "city", autoCreatedAt: false, autoUpdatedAt: false, schema: true, attributes: { "id": { "type": "integer", "primaryKey": true, "autoIncrement": true, "columnName": "ID" }, "Name": { "type": "string", "maxLength": 35 }, "District": { "type": "string", "maxLength": […]

在Sails / Waterline软删除

尝试使用以下命令删除用户模型: //Hard Delete User.destroy({id:userId}, function(err, res){ //Hard Delete }) 我需要在用户模型上进行软删除,并且在删除和更新文档时将当前的标志isDeleted设置为true: updateUser.isDeleted = true; User.update({id:userId}, updateUser, function(err, res){ Update project }) 并在获取文件时,我正在做一个检查如果isDeleted – 是否真实。 是否有任何由Sails或Waterline提供的内置function,我可以configuration执行软删除,并避免更新,然后基于isDeleted标志提取?

Sails.js:如何在assets / js / files.js中使用i18n函数

我需要在我的sailsjs项目的资产/ js内使用i18n()。 我该怎么做呢? 在我的观点是好的,但在我的不是,为什么? 非常感谢你。 我有sailsjs@0.10.5

在Node / Npm更新之后,Sails.js无法find模块“ini”

我正在使用Sails.js中的应用程序,在尝试创build用户帐户时遇到了身份validation错误。 我无法debugging我的问题,所以我决定更新Node和NPM。 现在,抛出一个不同的错误。 module.js:338 throw err; ^ Error: Cannot find module 'ini' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:278:25) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/usr/local/lib/node_modules/sails/node_modules/rc/lib/utils.js:2:12) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) 我犯了相当一段时间没有更新节点和npm的错误。 我做了npm install ini 。 npm表示安装成功,但是当我再次提起帆时,同样的错误被抛出。 我testing了另一个我知道工作正常的Sails项目,并且得到了同样的错误。 我完全卸载节点和NPM,并重新安装它们,没有运气。 我删除了node_modules文件夹,并运行npm install ,并得到相同的错误。 我删除了两个项目文件夹,并从Github中重新克隆,但失败仍然存在。 出于绝望,我试图降级我的节点和npm的版本,但奇怪的是,我仍然有同样的错误。 […]

asynchronous方法,更新发生时迭代器应该会发生

我有一个使用Asynch.forEachSeries迭代的数组。 在迭代器中,我find了模型并进行了更新。 更新发生后,我需要迭代第二个项目。 find下面的代码。 async.eachOfSeries(stockUpdate, function (valueSU, keySU, callbackSU) { ProductVariations.findOne({id:valueSU.id}).exec(function (ePV,dPV){ dPV.available_stock = parseInt(dPV.available_stock) – Qty; dPV.save(function (errDPV) { callbackSU(); // HERE ONCE, NEXT ITERATOR SHOULD BE CALLED }); }); }, function (err) { if (err) callback(err.message); });

MySQL的ORM的Node.js选项

我想创build一个node.js和基于MySQL的应用程序。 Google和Stack Overflow为Javascript ORM提供了很多选项: sequelize.js persistence.js 吃水线 knex.js 节点ORM2 bookshelf.js objection.js 但是,我找不到一个支持子查询,联接,转换,存储过程的完美ORM,与MySQL集群兼容,并且具有良好的文档和社区支持。 还有其他的select吗? 在作出决定时应考虑哪些因素?

Sailsjs模块

我正面临一个新的项目,可能会用sails.js。 有没有什么方法可以为Sails编写'模块',所以我可以在一个模块(文件夹)中隔离特定的视图,控制器,模型,服务等,我可以轻松地添加或删除? 如果没有,任何想法/黑客来实现这一目标? 提前致谢

sails.js – 我想在帆升空后dynamic添加数据库连接

在帆升降期间,我还没有为我的数据库提供所有的连接信息。 有没有办法让configuration值取决于承诺或在完成帆升降后dynamic创build连接? 我显然不得不添加一个策略或钩子来处理对需要模型的路由的请求(如果它还没有可用的话),但是在这一点上,我并没有看到如何让帆升降,直到我已经知道连接信息它必须在configuration中)。 我希望我错过了一种dynamic创build连接和连接模型的方法。

Sails.js Redis如何stream数据?

我一直在寻找信息,知道如何连接Redis的Sails.js抛出模型 – 控制器 – 视图,我想我已经得到了它。 我的问题是,我认为我不了解Redis的理念,它的关键,等等。 我想我的Redis没有任何密钥,我的意思是这不是像“名称:维克多,姓:加西亚”,但“维克多:加西亚”,没有一个关键,所以我不知道如何设置属性的模型Redis的。 所以我试过了不设置属性,或者只设置一个属性(例如“Victor:Garcia:33:Seville:Spain”),但没有结果。 我的模型看起来像这样: module.exports = { schema: false, connection: 'redis', autoPK: false, autoCreatedAt: false, autoUpdatedAt: false, attributes: { ta : 'string', // Override toJSON instance method toJSON: function() { var obj = this.toObject(); return obj; } } }; 我试过这个: Redis.find() .where({ ta: 'MB:400V:TRAF004:EP:MvMoment' }) .exec(function(err, users) { // Do […]

新的Sails.js如何路由到一个视图,而不包括layout.ejs?

新的Sails.js我已经阅读了文档,但我没有看到一种方法不包括位于/views/的layout.ejs 。 我正在尝试将Angular应用于我的应用程序,以及何时离开 $routeProvider.when('/',{ controller: 'HomeController', templateUrl: '/home' }) 那么在我的路线,我希望能够做到: 'GET /home': { view: 'angular/home.ejs' } 但会发生什么是它加载home.ejs但也注入layout.ejs所以它成为一个无休止的循环注入layout.ejs从布局加载angular度脚本,然后尝试加载home.ejs加载layout.ejs等等 那我该怎么做呢? 我知道我可以在/asset/angular/home.html放置视图,但是我希望有.ejs这样我可以呈现不同的视图(例如,用户未login)或其他东西。 任何关于如何在不注入layout.ejs情况下呈现views信息将非常好,谢谢! 更新: 所以通过这样做: 'GET /home': { view: 'home', locals: { layout: false } } 它使它的工作,我不知道是否有一个全球性的方式,所以我不必标志layout: false每一个layout: false