You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dexie使用变量作为列名实现多表增改操作的可行性咨询

实现方案

这个需求可以直接实现,核心是利用动态属性构造的语法能力,不同开发语言的写法如下:

JavaScript(含Node.js各类数据库操作、ORM调用场景)

ES6及以上版本直接使用计算属性名语法即可,示例:

// 定义存储列名的变量,可根据业务逻辑动态赋值
const updateColumn = 'name';
// 方括号包裹变量即可将变量值作为对象的属性名
db.friends.update(2, { [updateColumn]: "Number 2" });

如果需要拼接公共字段前缀,直接处理变量即可:

const commonPrefix = 'base_';
const field = 'name';
const updateColumn = `${commonPrefix}${field}`;
db.friends.update(2, { [updateColumn]: "Number 2" });

Python(各类Python数据库驱动、ORM场景)

先构造字典参数再传入调用即可,示例:

update_column = 'name'
# 拼接前缀写法:update_column = f"base_{field}"
update_data = {update_column: "Number 2"}
db.friends.update(2, update_data)

其他语言

所有支持动态构造字典/哈希表/对象属性的语言都可以实现该需求,核心逻辑都是先把列名存到变量里,再用变量作为key构造更新参数,最后传入调用方法即可。

内容的提问来源于stack exchange,提问作者user2298075

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:57:03