📅  最后修改于: 2023-12-03 15:18:37.936000             🧑  作者: Mango
Knex 是一个 Node.js 的 SQL 查询构建器,它支持多种数据库,包括 Postgres,MySQL,SQLite3 等等。在这里,我将会介绍如何在 Postgres 数据库中进行插入操作。
要使用 Knex 对 Postgres 进行插入操作,你需要先安装依赖包:
npm install knex pg
上述命令会同时安装 knex
和 pg
,其中 pg
是 Knex 对于 Postgres 的驱动程序。
接着,你可以在代码中引入 knex
和 pg
:
const knex = require('knex')({
client: 'pg',
connection: {
host: '127.0.0.1',
user: 'your_database_user',
password: 'your_database_password',
database: 'myapp_test'
}
});
其中,connection
部分需要根据你的实际情况来填写,这里只是一个示例。
在完成了准备工作后,你可以编写代码来进行插入操作。下面是一个示例:
knex('books').insert({title: 'Slaughterhouse-Five', author: 'Kurt Vonnegut'})
.then(() => console.log('inserted successfully'))
.catch((err) => console.error(err));
上述代码中,我们使用 knex()
来指定要插入数据的表名,也就是 books
。然后,我们使用 .insert()
方法来传入要插入的数据,这里是一本书的标题和作者。最后,我们使用 .then()
和 .catch()
来处理插入结果。
如果你要插入多条数据,可以使用 .insert()
方法的一个数组参数:
knex('books').insert([
{title: 'Slaughterhouse-Five', author: 'Kurt Vonnegut'},
{title: 'The Catcher in the Rye', author: 'J.D. Salinger'},
{title: 'Brave New World', author: 'Aldous Huxley'}
])
.then(() => console.log('inserted successfully'))
.catch((err) => console.error(err));
除了在 .insert()
方法中传入一个对象,你还可以通过一个数组来传入多个数据列:
knex('books').insert([
{title: 'Slaughterhouse-Five', author: 'Kurt Vonnegut'},
{title: 'The Catcher in the Rye', author: 'J.D. Salinger'},
{title: 'Brave New World', author: 'Aldous Huxley'}
], 'id')
.then(() => console.log('inserted successfully'))
.catch((err) => console.error(err));
在上述代码中,'id'
参数表示返回自增列的值(如果有的话)。
在本文中,我们介绍了如何使用 Knex 对 Postgres 进行插入操作,包括单条插入和批量插入。如果你想了解更多关于 Knex 的用法,可以查看 Knex 官方文档。