Tag: sails.js

如何将JSON数组转换为JSON对象?

我有一个JSON数组。 我需要把这个: [ {"id": ["1"], "title": ["hello"], "start": ["2016-05-20"], "end": ["2016-05-25"], } ] 对此: [ {"id": "1", "title: "hello", "start": "2016-05-20", "end": "2016-05-25", } ] 怎么做?

如何使用Node.js上的co模块捕获exception?

我在帆框架上使用co模块进行编码。 我想捕获InvalidError,但错误日志说'未定义'。 我怎样才能解决这个代码? Co模块不能捕获ErrorType规范? detail: function (req, res) { co(function *() { let errors = []; const text = req.param('text'); if (text.length <= 0) { throw new InvalidError('text is required'); } }).catch((InvalidError, err) => { sails.log.warn(err); errors.push(err.message); req.flash('errors', errors); res.redirect('/somewhere/view'); }).catch((Error, err) => { sails.log.error(err); res.serverError(err); }); } 错误日志在这里 warn: undefined error: undefined error: Sending […]

Node.js结合mongoose和Sails水线

我在Node.js上开发基于开源微软服务的项目。 问题描述 一些微服务是如此薄,只与MongoDB交互,所以我没有在那里使用Sails,并且首选直接使用Mongoose。 因此,我已经为我需要在mongo中坚持的每个对象实现了mongoose模式。 我还将在其他一些微服务中使用Sails.js,因此我将不得不实施Waterlinetypes的模式来保存和查询对象。 问题是模式的重复,我发现它是无用的。 我想到的解决scheme 我希望在所有的服务中使用一种types的模式。 现在有3个选项: 一个神奇的方法来连接模式(我不知道),并有两个世界同时工作(最不可能的select)。 为了在所有的微服务中使用Waterline,无论是否使用Sails.js,因此在系统中有1个模式types。 为了强制Sails.js使用mongoose适配器而不是Waterline,然后实现一些内部使用Mongoose的CRUD数据访问层(DAL),并在任何地方使用它来访问数据库。 因此,mongoose模式将贯穿整个系统。 但是后来我放弃了Waterline的封装function,如果将来我想改变DB,我会遇到麻烦。 我也可以在我的应用程序中妥协和重复模式,但这是最后的手段,因为我相信这个问题必须有一些解决scheme。

在Waterline获取插入的logging

如何获得Waterline插入的logging? 注意:我正在使用sails.js 我的代码: record=MyModel.create({ … }).exec(function createdFile(err, _record){ … return _record; }); record总是undefined但是它被插入到数据库中,我想在插入之后将json中插入的logging返回给客户端。 ( res.json({'message':jsonx(record)}); )。 谢谢

SailsJS使用CSRF查看图层分隔

我很好奇,是否可以将SailsJS应用从视图层中完全分离出来。 那就是不pipe理模板,视图,客户端JS和资产,这与我所说的RESTful API的意思是一致的。 我想尝试和部署两个单独的存储库,不需要知道如何通过请求相互作用的其他作品。 我知道sails new <apiName> –no-frontend选项,但是我也想在表单中joinCSRF标记,而不是在<input type='hidden' name='_csrf' value='<%= _csrf %>'> ejs <input type='hidden' name='_csrf' value='<%= _csrf %>'> 。 是否有可能和build议我的情况下揭露一个端点,严格处理在我的sails服务器上授予和validationcsrf令牌?

帆/水线:如何检索关系中的关系?

我需要检索一个对象,并获得关系和嵌套关系。 所以,我有以下三种模式: 用户型号: module.exports = { attributes: { name: { type: 'string' }, pets: { collection: 'pet', via: 'owner', } } 宠物模型: module.exports = { attributes: { name: { type: 'string' }, owner: { model: 'user' }, vaccines: { collection: 'vaccine', via: 'pet', } } 疫苗模型: module.exports = { attributes: { name: { type: 'string' […]

用户模型上的Sailjs错误:错误:钩子(`orm`)加载失败

我使用sailjs创build了一个简单的应用程序。 在运行应用程序时,会给出下面的错误 error: A hook (`orm`) failed to load! error: `include-all` attempted to `require(G:\workspare\web\sailsapp\api\models\Users.js)`, but an error occurred:: Details:SyntaxError: Unexpected identifier at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:374:25) at Object.Module._extensions..js (module.js:417:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) at require (internal/module.js:12:17) 我的users.js模型就像 module.exports = { attributes: { id : { type : 'integer', unique […]

用AWS XRAY航行

应该如何在Sails上安装AWS XRAY? 我正试图将安装说明翻译成Sails使用Express中间件的首选方式,但是我正在平躺在我的脸上。 大多数人会立即开始使用“使用config / http.js”来configuration中间件。 那么,在我的情况下,这是行不通的,因为我的API是专门用于Sails.io(套接字),所以http中间件configuration从不使用。 所以现在,合乎逻辑的一步是使用策略。 那么,如果你已经阅读了XRAY指令,你就知道他们正试图捕获所有的请求到应用程序,这需要在启动和停止函数调用之前和之后configuration路由。 所以,政策不起作用。 所以,我的下一步是尝试在app.js和config / bootstrap.js文件中无效,可能是因为我无法轻易获取Sails正在使用的Express实例。 那么,Sails目前的configuration选项有可能吗? 任何人有任何线索如何做到这一点?

续集多对多关联 – 未find方法

我有两个n:m sequelize模型,如下所示 // Organization Model module.exports = { attributes: { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true }, name: { type: Sequelize.STRING, required: true }, }, associations: function() { Organization.belongsToMany(Contact, { through : OrganizationContact, foreignKey: { name: 'organizationId', allowNull: false } }); } }; // OrganizationContact Model module.exports = { attributes: { id: { […]

SailsJs Response(res)生命周期

有没有办法挂起一个函数或任务来航行的响应,在发射function之前,例如,我有几个res.ok(object_output) ; 基于一些条件和在单独的控制器,我想拦截每个res.ok(就像政策 )做一些事情之前,返回响应。