Tag: bookshelf.js

Nodejs书架。 如何使用BETWEENfilter

我想通过元素的timeStamp过滤数据库表。 表中有行:ID,URL,时间表。 如何在一定范围内通过时间戳过滤数据? 像通常在SQL … BETWEEN firstTime和lastTime 我尝试像这样: if (first_date && last_date) { Pages.forge() .where("Date", '>=' , first_date) .where("Date", '<=' , last_date) .fetchAll() .then(function (pages) { res.send(persons.toJSON()); }).catch(function (error) { console.log(error); res.send('An error occured'); });

如何在不使用req和res.locals的情况下实现NodeJS中的ThreadLocalvariablesfunction?

我有一个场景,我需要做一些业务逻辑和logging每个请求。 所以要存储的数据应该与其他请求相互排斥。 我不能使用res.locals或req对象,因为处理应该基于一个事件开始。 而事件callback不包含这些对象。 它基本上保存了bookshelfjs的事件。 initialize: function(){ this.on("saving",function(model, attrs, options){ //do some stuff //require data from request }); }

bookshelfJS:idAttribute指定替代ID名称

我已经将idAttribute行添加到此代码中,希望能够为我的id字段指定一个替代名称: bookshelf.ApiUser = Bookshelf.Model.extend({ tableName: 'users', idAttribute: 'userID' }); 但它打破了我的节点项目。 只要我的ID字段被命名为“ID”,该项目的工作; 我怎么能命名id字段userID并让bookshelfjs知道该怎么办?

如何select书架nodeJS的LIMIT mysql

我正在使用节点JS的书架插件来执行mysql查询。 但是我不知道如何执行LIMIT查询。 像那样 SELECT * from tableName LIMIT 2; 我的连接书架: Bookshelf.mysqlAuth = Bookshelf.initialize({ client: client, connection: { host : host, user : user, password : password, database : database } 和数据方法: bookshelf.Img = Bookshelf.Model.extend({ tableName: 'image' }); 您可以在调用连接时使用它: var qb = data.Img.query(); qb.where('img_md5', '=', imgMD5save).update({img_size: fileLength, img_local_url: folder, img_type: fileType, img_downloaded: 1}).then(function(){}); 我试过了 qb.limit(5).then(function(){}); 但它解雇了一个错误 […]

如何添加简单的Where-clause与书架 – pagemaker

使用bookhelf-pagemaker NodeJS模块: https://www.npmjs.com/package/bookshelf-pagemaker https://github.com/bhoriuchi/bookshelf-pagemaker ..我能够得到基本的分页工作,它select表中的所有行。 但是我没有看到如何添加一个WHERE子句的查询。 题: 有人可以请分享一个小例子,使用search条件的书架 – pagemaker – 例如SELECT * FROM user WHERE id> 10 ? var Bookshelf = require('bookshelf').mysqlAuth; var pagemaker = require('bookshelf-pagemaker')(Bookshelf); var UserDAO = Bookshelf.Model.extend({ tableName: 'user' }); function getRegisteredUsers(pageNum, pageSize, offset, callback) { var args = { params: { start: offset, page: pageNum, length: pageSize }, model: UserDAO […]

尝试使用Bookshelf.js清理Node.js中的嵌套Promise Chain

这是我的代码看起来像: return request.app.currentProject().then(function(project) { return project.prs().query({ where: {id: request.params.prId} }).fetchOne().then(function(pr) { if (!pr) { return reply(Boom.notFound()); } pr.destroy().then(function(model) { return reply().code(204); }).catch(function(err) { return reply(Boom.badRequest(err)); }); }).catch(function(err) { return reply(Boom.badRequest(err)); }); }).catch(function(err) { return reply(Boom.badRequest(err)); }); 现在,在上面的代码中,我必须逐个捕获每个承诺。 无论如何要把它们连锁起来,这样错误就不会一个一个地抓住每一个承诺了。 更新 return request.app.currentProject().then(function(project) { return project.prs().query({ where: {id: request.params.prId} }).fetchOne(); }).then(function(pr) { return pr.destroy(); }).catch(function(err) { return […]

Express.js – foreach数据数组并将其存储在数据库中

我使用expressjs,bookshelf.js,我想发布数据数组,foreach这样的数据,并保存它。 我不是很确定问题在哪里(expression式,书架或简单的旧javascript),但是这里是这样的情况:当我发布所述数组并尝试迭代它时,我得到了正确的数据保存量,但都具有数组中最后一项的值。 代码如下: router.post('/save/', function(req, res){ var data = req.body; var result = []; for (var i in data) { var d = data[i]; if (d.user_id == -1) d.user_id = null; new Term().where({'date_of_driving': d.day}) .fetch() .then(function(terms){ if (terms != null) { return new Term({'id':terms.id}).save(d).then(function(item_updated){}); } else { return new Term().save(d).then(function(item_saved){}); } }) .catch(function(error){ console.log(error); }); […]

使用bookshelfjs通过相关的表格列来sorting结果

我有两个表,我正在使用'withRelated'与bookshelfjs查询。 如何按相关表中的列对结果进行sorting? 例如,我想通过rankingLinks.id来排列所有的结果 .fetchAll({withRelated: ['tickerSymbolLinks.tickerSymbol', 'rankingLinks', 'logoLinks.logo']}) 看起来很简单,但把我的头撞在了墙上。

Knex:错误池2 – 错误:错误分配资源:连接ECONNREFUSED

我在node.js项目上使用bookshelf.js,它在我的本地主机上正常工作。 但是,当我试图把它放在AWS + RDS上,它给了我以下错误: Express server listening on port 8000 Knex:Error Pool2 – Error: Error allocating resources: connect ECONNREFUSED Knex:Error Pool2 – Error: Error allocating resources: connect ECONNREFUSED 显然我的连接configuration已经改变了。 module.exports = { host : 'https://my_rds_url:3306', user : 'root', database : 'my_database', password : 'my_pw' } 会是什么呢? 谢谢。

如何在Node.js中使用Bookshelf连接3个表

所以我有表user ,例如表格和user_book_xref表。 user_book_xref在user有user_id fk到id user_book_xref在book有book_id fk到id 如何从id = 1的用户中select所有书籍?