Tag: sails.js waterline

SailsJS – 创buildlogging时如何指定string属性长度而不会出错?

我正在使用与MySQL配对的Sails 0.9.8,并想要做这样的事情 localhost:1337/player/view/<username of player> 代替 localhost:1337/player/view/<id of player> 所以我把这样的东西放在模型中: 'username' : { type: 'string', unique: true, minLength: 4, maxLength: 32, required: true }, 但是,每当我运行帆升降机时,我都会遇到一个错误: { [Error: ER_TOO_LONG_KEY: Specified key was too long; max key length is 767 bytes] code: 'ER_TOO_LONG_KEY', index: 0 } 所以在我运行模块之后,我发现这是因为默认情况下,Sails在数据库中给出的stringtypes属性长度为255。 给定的长度可以用“大小”来覆盖,但是在创buildlogging时会导致另一个错误。 'username' : { type: 'string', unique: true, minLength: 4, […]

Sails.js:join

var obsType = (from lk in db.LookUp join lt in db.LookUpType on lk.LookUpTypeId equals lt.LookupTypeId where (lt.FieldName == "OBSType") && !(db.OBSSetting.Select(k => k.OBSTypeId)).Contains(lk.Id) orderby (lk.SortOrder ?? decimal.MaxValue) select new LookUpViewModel { Id = lk.Id, Description = lk.Description }).ToList(); return obsType; 这是MVC的LinQ查询,请问如何在js中写入这个连接查询。 这里使用了三种不同的模型:(LookUpType,LookUp,OBSSetting)。 任何人都请指导做这个任务。 提前致谢….

inheritanceSails.js模型的属性和生命周期函数

我想创build一个自定义的属性集和生命周期方法,这些方法在我所有的Sails.js模型之间共享。 Sails.js通过调用Waterline.Collection.extend()方法自动创build并注册模型对象,并提供在/api/models目录中find的模型定义。 从父类扩展我的模型定义最好的方法是什么? 我已经尝试过使用_.extend(sails.config.model.parentModel, childModel)但遗憾的是_.extend(sails.config.model.parentModel, childModel)对象并没有全局公开(因为这是在加载orm钩子之后完成的)。 我也可以简单地在我的所有模型中require()基础模型并扩展它。 什么是一个干净的方法,与Sails相得益彰?

如何在不保存水线模型的情况下创build新的水线模型实例

这可能是一个非常简单的问题,但我在Waterline文档中找不到任何关于它的信息。 如何获得水线模型的实例而不立即保存呢? Model.create(data); // already written to database 我正在寻找类似的东西 var user = User.new(data); // new instance, not persistent so far user.doSomething(withThis); // call method on instance user.save(); // Now write it to database 谢谢

如何在Sails / Waterline的生命周期callback中调用模型实例方法?

我用2个实例方法build立了一个简单的模型。 我如何在生命周期callback中调用这些方法? module.exports = { attributes: { name: { type: 'string', required: true } // Instance methods doSomething: function(cb) { console.log('Lets try ' + this.doAnotherThing('this')); cb(); }, doAnotherThing: function(input) { console.log(input); } }, beforeUpdate: function(values, cb) { // This doesn't seem to work… this.doSomething(function() { cb(); }) } };

如何在Waterline ORM中设置数据库连接string

我刚从npm下载了Waterline。 我有一些文件夹,但无法find我在哪里可以设置主机/用户/密码等来连接我的postgress数据库。 我看了waterline文件夹中的所有文件,什么都没有。 任何人都可以告诉我在哪里设置?

Sails.JS – 获取数据库中的对象/行数

在Sails.js中,通过生成模型和控制器为您完成了大量的工作。 控制器允许通过API访问数据。 它可以通过传递开始/跳过/偏移和取/限制来实现简单的分页。 但为了让我确定一个集合的最大页面,我需要知道集合中有多less个项目。 我试图在生成器中扩展蓝图以公开新的API方法count并创build计数操作。 根据Waterline文档 , count是一个可以在模型上调用的动作。 当我调用User.count() ,我得到这个: { _context: { identity: 'user', adapter: { syncable: false, defaults: [Object], registerCollection: [Function], create: [Function], find: [Function], update: [Function], destroy: [Function], count: [Function], identity: 'odata', globalId: 'odata', config: [Object] }, attributes: {}, _cast: { _types: [Object] }, _schema: { context: [Circular], schema: [Object], hasSchema: true […]

Sails.js水线查询修饰符date与sails-mysql?

我刚刚开始使用它的ORM,水线Sails.js,绝对喜欢它,但我不知道如何使用date查询修饰符。 我正在使用sails-mysql。 具体来说,我想获得具有两个特定date之间的date时间字段的行。 我试过这样做: MyModel.find() .where({ datetime_field: { '>=': startDate } }) .where({ datetime_field: { '<=': endDate } }) .done(function(err, objects){ // … }); startDate和endDate是两个Date对象。 我也尝试将它们转换为toString()string。 在这两种情况下,我从数据库中获取每一行,而不是两个date之间的行。 有没有办法做到这一点,或者这个function还不是Waterline或者sails-mysql的一部分吗?

水线ORM(sails.js)条件与不等于查询

我怎样才能在水线上写出一个不等于的条件? 此代码: Users .count() .where({ id: { '!=': req.params.id}, lastname: req.body.lastname }) 什么也没有…(sails.js中的磁盘适配器)

Sails.js通过idfind多个数据库条目

我在node.js / sails.js上有点新,想知道(如果可能的话)如何通过search它们的ID来检索多个数据库条目 – 在MongoDB文档中提到了这样的东西: db.inventory.find( { qty: { $in: [ 5, 15 ] } } ) 这就是我所尝试的: // users param example: 12341243124, 1231231231, 21312313212 var users = req.param('users').split(','); User.find({id: { $in: users }}, function (err, response) { // do something here }); 任何帮助,将不胜感激! 谢谢!