【发布时间】:2021-12-10 18:00:24
【问题描述】:
这是我在 Firestore 中向地图添加值的代码。目前地图每次都会被覆盖
exports.addTrainingtoList = functions.firestore
.document('/users/{uid}/trainings/{trainings}')
.onCreate((change, context) => {
const doc = admin.firestore().collection('users').doc(context.params.uid).collection('user').doc('trainings');
const trainingsID = change.data().trainingsID;
const trainingsName = change.data().training;
const trainingsTimestamp = change.data().timestamp;
doc.update({
Trainings: {
...doc.Trainings,
[trainingsID]: {
'trainingsName': trainingsName,
'trainingsDate': trainingsTimestamp,
},
},
})
});
这是我在弗兰克斯回答后更新的代码:
exports.addTrainingtoList = functions.firestore
.document('/users/{uid}/trainings/{trainings}')
.onCreate((change, context) => {
const doc = admin.firestore().collection('users').doc(context.params.uid).collection('user').doc('trainings');
const trainingsID = change.data().trainingsID;
const trainingsName = change.data().training;
const trainingsTimestamp = change.data().timestamp;
const nameField = trainingsID + ".trainingsName";
const timestampField = trainingsID + ".trainingsDate";
doc.update({
Trainings: {
...doc.Trainings,
[nameField]: trainingsName,
[timestampField]: trainingsTimestamp,
},
})
});
目前地图已被覆盖。
在这里你可以看到我得到了什么:
在这里你可以看到我想要的。
提前致谢。
【问题讨论】:
标签: node.js google-cloud-firestore google-cloud-functions