node.js - Knex Insert 和 onConflict 不是函数
问题描述
我尝试使用 knex 添加一个简单的 upsert。推荐的方法是(对于 postgres)使用 onConflict。有效的原始代码(更新部分除外):
const dbObject = db();
await dbObject('names')
.insert({key: key, name: name});
因此,我根据手册中的内容对其进行了更新:
const dbObject = db();
await dbObject('names')
.insert({key: key, name: name})
.onConflict('key')
.merge();
但是,这给出了以下错误:
TypeError: dbObject(...).insert(...).onConflict 不是函数
这对我来说是一个谜,因为我使用的是正确的版本:
npm 查看 knex 版本
0.95.0
并且 knex db 对象基本上是由(从文件加载配置)创建的:
const knex = knexBuilder({
client: 'pg',
connection: config,
pool: {min: 0, max: maxConnections},
});
return knex
是什么导致了错误,onConflict 不是一个函数?
解决方案
推荐阅读
- php - 使用 Printful API 的 cURL POST 错误:BadRequest,未指定文件数组
- node.js - 如何为 MERN 应用程序同时连接到 MongoDB 服务器和 npm start
- sql-server - 为什么此 SQL Server 查询不返回预期结果?
- flutter - BlocBuilder 部分更新 ListView
- python - Series.transform 和 Series.apply 之间有什么区别吗?
- sharepoint - 访问共享点时Jmeter连接超时
- php - Laravel 分页视图
- python - Kivy 小部件矩形不移动
- python - 条形图中的垂直线
- bash - 我的 shell 脚本“break”语句不起作用