我尝试过搜索,但没有暗示书架查询相当于这个
update <Table Name> set <Column> x = y where z = a;
感谢。
答案 0 :(得分:3)
Bookshelf save()
documentation就是一个例子。
只需在模型上使用save()
指定哪些行,{ patch: true }
包含属性列表以及var knex = require('knex')({
client: 'sqlite3',
connection: {filename: 'data.sqlite3'},
debug: true}); // <- so you can see the generated query
var bookshelf = require('bookshelf')(knex);
var User = bookshelf.Model.extend({
tableName: 'users',
});
(function() {
User
.where({name:'amy'})
.save({email: 'amysnewemail@example.com'},{patch:true})
.then(function(x) {
console.log(x.toJSON());
});
})();
选项。
如果我们有一个表用户(id,名称,电子邮件),它将类似于:
{ method: 'update',
options: {},
bindings: [ 'amysnewemail@example.com', 'amy' ],
sql: 'update "users" set "email" = ? where "name" = ?' }
{ email: 'amysnewemail@example.com' }
上面的代码产生输出:
{
"name" : "MyNameIsKhan"
"symbol": "MyNameIsKhan"
}