gpt4 book ai didi

javascript - Firestore arrayUnion

转载 作者:搜寻专家 更新时间:2023-10-30 22:29:36 27 4
gpt4 key购买 nike

我正在使用 vue.js 和 firebase 构建一个基本的 CRUD 应用程序。我正在尝试构建收藏夹功能,但在存储数据时遇到了一个持续存在的问题。

当用户单击“添加到收藏夹”按钮时,我试图将文档 ID 添加到“用户配置文件”文档中的数组中。这是代码:

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 ref,并通过每个引用运行了一个伪造的 .set() 以确认它们指向正确的位置。我也已经在“userProfile”文档中创建了数组。

firebase 安装是全新的,就像上周一样,所以我的构建中应该有这个功能。

arrayUnion 似乎无法正常工作。有任何想法吗?其他 firestore 功能正在运行,所以我不确定。我是不是故意遗漏了什么?谢谢

最佳答案

如果您使用的是 Admin SDK

在我进行实验时,我遇到了一些与此类似的随机错误。事实证明这是因为我使用的是 firebase admin sdk,与 web SDK 文档相比,它需要稍作更改。如果您使用的是 firebase admin,请替换

firebase.firestore.FieldValue.arrayUnion(...

admin.firestore.FieldValue.arrayUnion(...

关于javascript - Firestore arrayUnion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52230367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com