Tag: 水线

强制一对属性是唯一的

我有一个包含用户和他的联系人之间的关系的模型。 这是这个模型的当前代码: module.exports = { connection: 'mysqlServer', attributes: { user: { model: 'user', required: true }, contact: { model: 'user', required: true } } }; 我想要的是使组合user和contact唯一。 这意味着,可能有几个相同的用户和几个相同的联系人,但只有一个具有特定联系人的用户(即:我们可以有user=1, contact=1和user=1, contact=2 ,但我们不能让user=1, contact=1和user=1, contact=1 )。 唯一的validation属性不足以创build我想要的validation。 你有一个想法,我应该怎么做? 自定义validation规则可能?

帆/水线:我如何残留一个模型的实例function?

我们的模型中有一些实例函数,我们可以很好地testing这些函数。 但是当试图加载一个水线实例然后调用实例函数的另一个函数的时候,我们想把这个调用存到实例函数中。 例如,我们试图进行unit testing的function可能如下所示: testFunction: function (id, cb) { Model.findOne(id, function (err, model) { model.instanceFunction(); cb(null, model); }); } 我想存根model.instanceFunction ,但不知道如何做到这一点。 Model.prototype似乎根本不存在。 我可以存根Model._instanceMethods ,但实例函数实际上并不是模型实例上的函数,所以这是行不通的。 任何想法如何做到这一点?

使用水线访问数据库实例

如何使用水线访问我的Redis实例? 我甩了水线的例子没有成功(没有例子)。 我无法在文档中find有用的东西。

在加载生命周期callback之后启动模型

Sails本身实现了创build,更新和销毁方法的callback函数,但不是在获取模型之前或之后,这是相当令人惊讶的。 在应用程序中实现它的最好和更干净的方法是什么?

在Waterline ORM中指定属性的长度参数

如何在水线可以指定types说十元(10,2)的货币? 我可以看到,我们可以给它一个小数types,但是这将使用默认的长度信息 – 我们如何限制字段的大小? 我明白一些数据库不会支持长度等,但这并不意味着我们不能让它被指定为那些做的。

SailsJS如何应用从另一个模型填充的实例方法和实例方法sorting?

嗨考虑这个例子 // surname_and_name: function(){ // return (this.name_last==null ? '' : this.name_last + ' ') + // (this.name_middle==null ? '': this.name_middle + ' ') + // (this.name_first==null ? '' : this.name_first + ' ') + // (this.name_prefix==null ? '' : this.name_prefix + ' ') + // (this.name_suffix==null ? '' : this.name_suffix); // }, toJSON: function() { […]

树莓派安装sailsJS

我想在树莓派(B +,raspian)上安装Sails JS,但我有很多错误:/我安装NodeJS与本教程: http : //joshondesign.com/2013/10/23/noderpi 我们尝试 sudo su npm -g install sails 我有 : npm http 200 http://registry.npmjs.org/promised-io/-/promised-io-0.3.3.tgz npm ERR! Error: ENOENT, chown '/home/pi/node-v0.10.2-linux-arm-pi/lib/node_modules/sails/node_modules/grunt-contrib-watch/LICENSE-MIT' npm ERR! If you need help, you may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <npm-@googlegroups.com> npm ERR! System Linux 3.12.35+ npm […]

为什么functionstream程不正常?

我正在一个nodeJS应用程序工作,我不能像正在定义的正常stream程中调用函数。 console.log('1') require('../models/userModel')(UserCtrl);// inside this file i have console.log('2') console.log('3') 对接我得到1 3 2,而不是1 2 3这是我的userModel代码 var Waterline = require('waterline'), config = require('../config/db'), _ = require('lodash') orm = new Waterline() module.exports = function(refContObj){ var User = Waterline.Collection.extend({ identity: 'user', connection: 'myLocalDBConn', attributes: { first_name: 'string', last_name: 'string' } }); orm.loadCollection(User); orm.initialize(config,function(err, models){ refContObj.models = models.collections; console.log('2') […]

Sails.js Waterlock – 唯一的用户名

我正在使用sail.js来pipe理我的用户。 我希望他们有一个唯一的用户名,所以我在我的User.js中有这个: module.exports = { autoPk : false, attributes: require('waterlock').models.user.attributes({ id : { type : "string", primaryKey : true, unique : true } }), beforeCreate: require('waterlock').models.user.beforeCreate, beforeUpdate: require('waterlock').models.user.beforeUpdate }; 我的Auth.js看起来像这样: module.exports = { attributes: require('waterlock').models.auth.attributes({ username : { type : "string", unique : true } }), beforeCreate: require('waterlock').models.auth.beforeCreate, beforeUpdate: require('waterlock').models.auth.beforeUpdate }; 我正在创build这样的用户: auth = { […]

抓住Waterline / sails.js中的每个更新/创build

我试图创build一个“工作stream”表,它注册每个表上的每个事件,并附加一些额外的信息(IP,会话ID)。 我有很多模型,不想在每个模型中都写afterUpdate / afterCreate,这是很难维护的,再加上模型中没有req来存储会话id。 我真的不知道该如何开始,这就是为什么我要问Waterline是否会抛出任何事件或类似的事情? 提前致谢 !