Tag: sails.js waterline sails

Sails服务返回MongoDb的结果,当没有水线协会存在,但是当它们存在时失败

我正在用MongoDb构build一个sails.js api作为我的db。 这些是我的模型(为了这个问题而简化): models/Passport.js简化: identifier: { type: 'string' }, owner: { model: 'User', required: true }, models/User.js简化: username: { type: 'string', unique: true }, passports: { collection: 'Passport', via: 'owner' } 问题 在sails.js服务loginfunction中,我首先尝试从User集合中获取用户名。 sails.models.user.findOne({username: 'demo'}).exec(function onExec(error, user) { user; //contains user info } 到现在为止还挺好。 然后,当用户被抓取(这是成功的),我抓住他的user.id,并尝试从护照集合取回他的护照。 sails.models.passport.findOne({owner:user.id}).exec(function onExec(error, passp) { if(passp==undefined) //puppies dying in this line!!!! […]

风帆无法返回或大型结果集错误

我绕过ORM并使用Model.query函数来查询并返回PostgreSQL中的“大”结果集。 查询返回大约200万行。 当直接从postgres运行查询时,大概会在20秒左右返回。 从sails执行查询失败时失败。 可以返回的行数是否有限制?

Sailsjs Postgres NULL原始查询

我想在创build错误报告之前确保这不是用户错误 使用sails-postgresql适配器我有一个查询(我已经为此问题的目的下沉了)想要处理一个NULL值,但我得到一个错误,不pipe我怎么写查询。 我已经尝试了不同的变体,但是你应该得到我想要在这里做的事情: parent = req.param('parent') or null Route.query 'SELECT * FROM route WHERE parent '+(if not parent then 'is' else '=')+' $1', [parent], (err, routes)-> console.log(err, routes) if err return res.json(400, [error: sails.__('Database.connect'), _error: err]) res.json(routes.rows) 上面总是传递数据的一些变化总是会出错的。 一个简单的修复是 parent = req.param('parent') or null values = [] if(parent) values.unshift(parent) Route.query 'SELECT * FROM route WHERE […]

为什么水线callback不会触发?

我正在使用模型中的Sails,它是ORM来执行MongoDB查询和操作。 我得到的问题是,对于一些查询方法,它的callback是永远不会被调用。 数据库操作完成,但callback不会出现。 下面的代码片段是模型查询API的控制器方法的一部分,这就是为什么我使用response对象。 LineUp.update({ id: request.param('id') }, { players: [], budgetLeft: 60000000 }). exec(function (err, lineup) { console.log("Should happen"); return err ? response.send(500) : response.json(lineup); }); 所以,我已经阅读了Sails文档 ,看来我实际上是按照它应该做的,但是它不会工作。 由于不工作,我的意思是callbackist没有被执行,我永远不会看到应该发生 ,然后任何响应被发回到客户端,客户端达到502超时。 编辑 我可以注意到,发现这是一个sails-mongo问题。 我在package.json首先使用了"sails-mongo": "^0.10.6"作为依赖项,并且在前一版本中获得了mongodb作为dev依赖项。 我testing了邮递员的整个代码,我不能注意到任何问题。 npm安装运行后,我开始注意到它失败,然后我发现这是callback问题。 在^0.11.2 sails-mongo更新到^0.11.2我可以看到它是如何回报增益的。 但是,我可以看到其他模型查询时,它不工作。 在升级服务器(可悲的是不工作),当它失败了,我有帆mongo ^0.10.8和2.0.33模块。 我更新到最新版本,特别是sails-mongo到0.11.x分支。 我真的不仅需要解决这个问题,而且要知道原因。 我试图复制错误,但现在它正在工作,而不是两天。 编辑2(语法错误或错误?) 我不能通过尝试不同的模块版本来复制错误。 但是,也奇怪,我已经确定哪个代码风格不工作(没有callback发生)。 没有执行callback,导致超时: LineUp.update({ id: request.param('id') }, { players: […]

在Sails.js中从PostgreSQL获取BYTEA

我在处理Sails.js中的PostgreSQL BYTEAtypes时遇到了问题。 表定义(是的,创build二进制PK是奇怪的,但some_data总是很小): CREATE TABLE data_blobs ( some_data BYTEA PRIMARY KEY, my_date_time TIMESTAMP WITH TIME ZONE NOT NULL); 模型configuration如下所示: module.exports = { tableName: 'data_blobs', autoCreatedAt: false, autoUpdatedAt: false, autoPK: false, attributes: { some_data: { type: 'binary', primaryKey: true }, my_date_time: 'datetime', }; 当我使用node-postgres(pg)从node.js查询表时,结果包含了使用some_data的节点缓冲区,这非常容易使用。 但是,当我从Sails.js查询表使用这样的代码: DataBlobs.find().then(function(result){ console.log('Result: '); console.log(result); }); 结果如下所示: { some_data: { '0': 1, […]

如何在mongodb的风帆中find指定的字段?

在MySQL中,我可以通过使用以下命令检索指定的列: User.find({select:['email']})….. 现在我正在移动到mongodb,我试过了: User.find({select:['email']})….. User.find({},{email:1})….. User.find({},{fields: {email:1}})…. 但是他们都没有工作。 我怎么能在MongoDB中做到这一点? 顺便说一句:我可以通过使用官方的mongodb驱动程序来做到这一点,它非常简单,并且与API文档完全匹配,所以我正在重新思考应该使用官方驱动程序( 我不想浪费时间来查询和解决问题这 ),但我不想失去吃水线的能力和灵活性。 任何build议或意见是赞赏。 db.collection('user').find({},{email:1})

如何在不保存nodejs |的情况下validationlogging sailsjs | 吃水线

我寻求这种性质的东西 //validation rules in model "User" attributes: { age: { required: true, type: 'numeric' } }, //now in controller, i want to be able to do this Recipe.validate({age: 'An invalid age because it is a string. I except a validation error as response'}); 问题是,它不工作..它抱怨前validation不可用,等等

Sails.js模型:创build2个关联自失败

我很新的Nodejs和帆。 我正在实现一个类似于Twitter的服务器。 在用户模型中,应该有两个字段:follower和follow,这两个字段是模型“用户”本身的关联。 我的问题是,当模型只有1个关联,追随者或追随者,它的工作。 但是,当追随者和追随者都包括在内时,就会出现错误。 代码是这样的: module.exports = { attributes: { alias: { type:'string', required: true, primaryKey: true }, pwd: { type: 'string', required: true }, follower: { collection: 'user', via: 'alias' }, following:{ collection: 'user', via: 'alias' } } 该代码将导致这样的错误: usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/waterline-schema/lib/waterline-schema/references.js:115 throw new Error('Trying to associate a collection attribute to a model tha ^ […]

使用sails.js和现有的postgres数据库

我正在考虑使用Sails来开发我们正在开发的应用程序。 我正在使用使用waterline orm的sails-postgresql适配器。 我有一个现有的数据库,我想连接到。 如果我使用generate something创build一个模型 然后在我的模型中,我有 attributes:{ title:{type:'String'} } 如果我浏览本地主机/某些东西,orm删除除了标题之外的something表中的所有列。 有没有办法阻止它这样做? 这个应用程序不应该删除这个数据库上的列。 谢谢!