我尝试使用 knex 添加一个简单的 upsert。推荐的方法是(对于 postgres)使用 onConflict。有效的原始代码(更新部分除外):
const dbObject = db();
await dbObject('names')
.insert({key: key, name: name});
Run Code Online (Sandbox Code Playgroud)
所以我根据我在手册中看到的内容更新了它:
const dbObject = db();
await dbObject('names')
.insert({key: key, name: name})
.onConflict('key')
.merge();
Run Code Online (Sandbox Code Playgroud)
但是,这给出了以下错误:
类型错误:dbObject(...).insert(...).onConflict 不是函数
这对我来说是一个谜,因为我使用的是正确的版本:
npm 查看knex版本
0.95.0
knex db 对象基本上是通过以下方式创建的(配置是从文件加载的):
const knex = knexBuilder({
client: 'pg',
connection: config,
pool: {min: 0, max: maxConnections},
});
return knex
Run Code Online (Sandbox Code Playgroud)
是什么导致了错误,onConflict怎么不是一个函数?
| 归档时间: |
|
| 查看次数: |
3903 次 |
| 最近记录: |