Articles of sails.js

参数必须是nodejs中的string

我有以下代码: var objectid = infos[i].id; var name = infos[i].name; return collection.aggregate([ {$match: {app: new ObjectId(objectid)}}, {$group: {_id: "$uid", amt: {$sum: 1}}} ]) 以前这段代码工作正常,但最近我开始在sails中获得下面的堆栈跟踪: error: TypeError: Argument must be a string at TypeError (native) at Buffer.write (buffer.js:791:21) at serializeObjectId (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:242:10) at serializeInto (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:699:17) at serializeObject (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:280:18) at serializeInto (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:705:17) at serializeObject (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:280:18) at serializeInto (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:551:17) at […]

如何在sails.js中获取当前的域名地址

我试图使用sails.js获取当前url。 我尝试了以下内容: req.param('host') and req.param('X-Forwarded-Protocol') 返回undefined。 req.headers.host 返回localhost。 但我的域名不是本地主机。 如何得到它?

SailsJS将对象/variables传递给布局视图的正确方法

你好,我想知道是否有一个正确的方法来传递一个variables或对象到布局视图? 这就是我现在正在做的,它的工作原理 index: function(req, res){ res.view({ layout: 'mylayout', myvar: 'This is a view var' }); } 但是在每个动作中,我必须定义'myvar',所以我可以在布局级别使用它,所以我想知道是否有某种控制器或布局的动作,所以我可以在那里放置我的逻辑?

是否有可能使用子文件夹将帆控制器分组?

我打算组织我的控制器使用子文件夹帆,但我不知道如何做到这一点。 当我尝试使用像pipe理员/ PageController.js和连接它与路线我不断收到404错误。

Sails.js:模型上的dynamic表名

我已经在Sails.js中做了一个JSlogging器应用程序,一切都很好。 现在,我正在扩展应用程序:我需要为同一个模型使用多个表(例如,基于id的sesson2等)。 比方说,对于模型“Pageview”,我将使用不同的表格,如“Pageview1”,“Pageview2”等。 我怎么能dynamic定义该模型的tableName,所以我可以根据参数或属性在每个请求上进行更改。 到目前为止,我已经尝试过这种方式 var tableId = 2; Pageview.tableName = "pageview" + tableId; Pageview.create(values, function…); 该代码不会中断应用程序,或抛出任何错误,但logging保存在默认表,而不是我想要的。

AppCache在Safari,firefox中行为exception

所以我在appcache方面遇到了一些麻烦。 我有一个单一的页面应用程序(真正的URL使用page.js和加载页面加载服务器的HTML,(调度:false) 它运行在node.js上,特别是它的一个sails.js应用程序。 我在布局的html标签中有一个清单文件。 清单文件已被重复testing,所有内容都会被检出。 它完美地运行在铬。 即使在Safari中,它也正确地显示在检查器中,并且具有文件中列出的资产列表。 到现在为止还挺好。 但是,脱机时,Safari无法加载除HTML文档本身之外的任何内容。 所以我基本上只看到一个无标题的头列表。 控制台显示了一堆404。 所以,即使它正确读取清单文件,它不会caching任何东西。 Firefox甚至没有检测到清单文件,似乎像不存在的工作。 iOS7上的Safari浏览器performance得像firefox,离线时不显示任何东西。 任何人有任何明智的想法,为什么这可能会发生?

如何解决在sails.js的SocketIO握手过程中没有可用的有效会话?

我正在使用sails.js开发一个iOS应用程序的API,并使用websockets进行实时通信。 问题是,我不能让套接字握手工作。 控制台中显示“此套接字中没有可用的有效会话”错误。 当我谷歌search了一下,我才知道我需要设置一个有效的cookie。 由于我的客户端不是基于浏览器的Javascript,我不能设置任何cookie。 我甚至在config/sockets.js设置了authorization: false 有没有解决这个问题? 还是selectSails JS这个任务是一个错误? 顺便说一句,这些是我遇到这个问题的一些链接: https://github.com/balderdashy/sails/issues/1062 https://github.com/balderdashy/sails/issues/995 https://github.com/balderdashy/sails/issues/1003

Node.js多平台的项目结构

它真的很混乱,为node.js设置最好的项目结构我正在开发适用于浏览器,移动和桌面的node.js应用程序。 这个应用程序有许多模块,如计费,支持,仪表板等。 我开始使用express.js MVC模式,后来Sails.js看起来非常有吸引力。 然后遇到了MEAN Stack,最后登陆了微服务Seneca.js 微服务看起来像我所需要的,但我看到Sails.js不支持它。 我想使用Aerospike NoSQL,但是waterline orm现在不支持它。 那么你在Node.js中使用的项目结构解决scheme是什么,在浏览器,移动和桌面?

连接android客户端到sails.js

我正在使用nkzawa socket.io Android客户端 。 我怎样才能连接到sails.js服务器? 我尝试从客户端(iOS和Android)的发送套接字请求到Sails.js服务器和简单的Sails.js和Android示例的方法,但我的帆服务器上出现以下错误: Running "watch" task Waiting… verbose: A socket is being allowed to connect, but the session could not be loaded. Will create an empty, one-time session to use for the life of the socket connection. Details: Error: Session could not be loaded at _createError (/usr/local/node-v0.12.4-linux-x64/lib/node_modules/sails/lib/hooks/session/index.js:271:21) at Immediate._onImmediate (/usr/local/node-v0.12.4-linux-x64/lib/node_modules/sails/lib/hooks/session/index.js:274:13) at processImmediate […]

如何在上传之前validation文件types使用SailsJS Skipper

作为标题,现在我无法检查上传之前的文件types。 我只validationfile upload成功后不允许保存数据。 以下是一个基本的代码 updateAvatar : function(data, context, req, res) { req.file('avatar').upload({ dirname: '../../assets/images/avatar' }, function (err, files) { var allowExts = ['image/png', 'image/gif', 'image/jpeg']; if (err) return res.serverError(err); if (files.length === 0) return res.badRequest('No file was uploaded!'); if (allowExts.indexOf(files[0].type) == -1) return res.badRequest('File type is not supported!'); // save database here }); } 我应该怎样做正确的代码? […]