【发布时间】:2021-08-13 04:15:54
【问题描述】:
从 firebase 函数中获取以下错误。我不明白registrationList是如何未定义的。
错误:Update() 需要单个 JavaScript 对象或字段/值对的交替列表,可以后跟可选的前置条件。参数“dataOrField”的值不是有效的 Firestore 值。不能将“未定义”用作 Firestore 值(在字段“registrationList.
0”中找到)。如果您想忽略未定义的值,请启用ignoreUndefinedProperties。
let curRegister = 0;
// Take inventory down
if (typeof eventInfo.currentRegister !== "undefined") {
curRegister = parseInt(eventInfo.currentRegister) + 1;
console.log("KBKBKBBK: " + curRegister);
} else {
curRegister = 1;
}
let regList = [];
// Add the user to the event registration table
if (typeof eventInfo.registrationList !== "undefined") {
regList = eventInfo.registrationList;
regList.push(purchaser.id);
} else {
regList = [purchaser.id];
}
//update event doc
admin
.firestore()
.collection("events")
.doc(eventID)
.update({
registrationList: regList,
currentRegister: curRegister,
});
let eventsAttend = [];
if (typeof purchaser.eventsAttended !== "undefined") {
eventsAttend = purchaser.eventsAttended;
eventsAttend.push(eventID);
} else {
eventsAttend = [eventID];
}
admin
.firestore()
.collection("fclUsers")
.doc(userDocId)
.update({ eventsAttended: eventsAttend });
【问题讨论】:
-
这个错误消息出错是很不寻常的。你可能想
console.log(JSON.stringify(regList))来验证它的内容。
标签: javascript firebase google-cloud-firestore