Я создаю базовое приложение CRUD с vue.js и firebase.Я пытаюсь создать функциональность избранного и столкнулся с постоянной проблемой хранения данных.
Когда пользователь нажимает кнопку добавления в избранное, я пытаюсь добавить идентификатор документа в массив вдокумент "профиль пользователя".Вот код:
export function addNewUserAction (type, key, userID){
console.log(userID);
console.log(key);
firebase.firestore().collection('userActions').add({
type: type,
listing: key,
user: userID,
time: Date.now()
})
if(type === 'favorite'){
var sendfav = db.collection('userProfiles').doc(userID).update({
favs: firebase.firestore.FieldValue.arrayUnion(key)
});
}else if(type === 'xout'){
var sendxout = db.collection('userProfiles').doc(userID).update({
xouts: firebase.firestore.FieldValue.arrayUnion(key)
});
}else{
console.error(type + " is not a user action");
}
}
Я получаю следующую ошибку в консоли:
Uncaught TypeError: Cannot read property 'arrayUnion' of undefined
at addNewUserAction
У меня есть firebase и ссылка на db импортирована, и я прогнал фиктивную .set () черезкаждая ссылка, чтобы подтвердить, что они указывают на правильные места.У меня также уже есть массивы, созданные в документе 'userProfile'.
Установка Firebase свежая, как и на прошлой неделе, поэтому у меня должна быть функция в моей сборке.
Кажется, что arrayUnionпросто не работает.Есть идеи?Другие функции пожарного магазина работают, поэтому я не уверен.Я что-то упустил?Спасибо