目标是更新Firebase文档。
文档ID在更新时未知。已知的是一种属性,它充当文档上的唯一键(在以下情况下为电子邮件地址)。
以下代码基于the official documentation和this answer,是一种用于更新文档中数组的方法。
但是,这感觉很笨拙。
是否有更直接的方法来检索对单个文档的引用并更新其字段?
// Set query.
let query = firebase.firestore().collection('users').where('emailAddress', '==', 'test@test.com');
// Run query.
try {
const querySnapshot = await query.get();
return querySnapshot.docs[0].ref.update({
designs: firebase.firestore.FieldValue.arrayUnion('foobar')
})
} catch(e) {
console.log('Error getting user: ', e);
}
答案 0 :(得分:1)
不,您正在做的是您能做的最好的事情。如果您不知道该ID,则必须查询才能找到它。 Firestore没有等效的SQL“ update where”命令。