如何在Firestore文档中添加带动态日期键的Map(JS实现)
Firestore动态Map键名设置问题解决
问题
使用JavaScript向Firestore文档添加Map结构时,现有代码可正常执行,但Map的键名是固定字符串dateString,需要替换为变量dateString的实际值(示例中为"24/02/2023")。
原代码:
dateString = "24/02/2023" let dayStatusDetails = { dateString : { status: day_status, date: status_date, note: day_note }} await createDayStatus(doc_id, dayStatusDetails)
解决方法
核心是使用ES6计算属性名语法,将变量值作为对象键名。修改后的dayStatusDetails定义如下:
dateString = "24/02/2023" // 用方括号包裹变量,将其值作为Map的键名 let dayStatusDetails = { [dateString] : { status: day_status, date: status_date, note: day_note }} await createDayStatus(doc_id, dayStatusDetails)
配套写入函数
以下是用于向Firestore写入数据的createDayStatus函数:
export const createDayStatus = (id, dayStatusDetails) => { return dailyStatusCollection.doc(id).set(dayStatusDetails ,{ merge: true }) }
效果展示

内容的提问来源于stack exchange,提问作者Yousef
相关产品推荐
相关产品推荐

