Articles of bookshelf.js

在bluebird / bookshelf.js中,tap函数做什么

bookhelf.js tap函数做什么? 我没有在文档中find任何条目 return new Library({name: 'Old Books'}) .save(null, {transacting: t}) .tap(function(model) { //code here } http://bookshelfjs.org/#Bookshelf-subsection-methods

使用.orderBy()对Bookshelf.js结果进行sorting

我正在开发个人项目来学习Node.js + express + Bookshelf.js。 我在哪里构build查询? 特别是,如何在下面的代码中简单地设置“ORDER BY”或“WHERE”? var Accounts = require('../collections/accounts').collection; new Accounts().fetch({ withRelated: ['folders'] }).then(function(collection) { // process results }); 我想学习Bookshelf.js,因为它似乎提供了Laravel的Elequent(PHP)所使用的特性,例如多态关系和子expression式。 但是,我发现文档不是很深入,试图find例子几乎是不可能的。 在此先感谢您的帮助。 知更鸟

如何正确更新Bookshelf.js的模型?

我确定我错过了一些东西,但是我发现Bookshelf API对我来说是无情的混淆。 这是我想要做的: 我有一个名为Radio的模型,其中包含一个名为serial的应用程序分配的string主键,就本例而言,这两个字段分别是example1和example2 。 我已经在模型定义中用idAttribute: 'serial'指定了自定义ID。 我试图用Bookshelf执行upsert(不直接与Knex,在我的实际应用程序,查询变得相当复杂)。 我有插入案例工作,但似乎无法得到更新案例的工作。 为了简单起见,我现在不关心交易或primefaces性。 我很满意得到一个简单的select→插入/更新工作。 具体在这个例子中: 插入设置example1和example2 。 更新设置example1并保持example2不变。 所以我在Bookshelf模型中有这样的一个类,例如“static”方法(“info”包含字段“serial”,“example1”和“example2”): insertOrUpdate: function (info) { return new Radio({'serial':info.serial}).fetch().then(function (model) { if (model) { model.set('example1', info.example1); return model.save({}, { method: 'update', patch: true }) } else { return new Radio({ serial: info.serial, example1: info.example1, example2: info.example2 }).save({}, { method: 'insert' }) […]

Bookshelf.js – 如何保存多对多的关系?

我有麻烦保存数据在“多对多”的关系。 这是我的模特: var CoursePeople = bookshelf.Model.extend({ tableName: 'course_people' }); var Course = bookshelf.Model.extend({ tableName: 'course', users: function(){ return this.belongsToMany(User); } }); var City = bookshelf.Model.extend({ tableName: 'city', users: function(){ return this.hasMany(User); } }); var User = bookshelf.Model.extend({ tableName: 'people', city: function(){ return this.belongsTo(City); }, courses: function(){ return this.belongsToMany(Course); } }); 面临的挑战是,如何将我在数组中获得的ID插入数据库中的联结表(名为“course_people”)? 这是我的代码到目前为止: app.post('/users/', function(req, res) […]

bookshelf.js统计方法

我search高低find如何做基本的计数(如SELECT COUNT(东西)从表)与Bookshelf.js,但无济于事。 有什么我失踪? 或者它只是用于手动select查询? 谢谢!