书架查询更新表

时间:2016-07-19 13:47:43

标签: sql node.js npm bookshelf.js

我尝试过搜索,但没有暗示书架查询相当于这个

update <Table Name> set <Column> x = y where z = a; 

感谢。

1 个答案:

答案 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"
}