在Firebase文档中更新字段的更直接的方法是什么,而无需使用文档ID?

4 浏览
0 Comments

在Firebase文档中更新字段的更直接的方法是什么,而无需使用文档ID?

目标是更新一个Firebase文档。

在更新时,文档ID是未知的。已知的是一个在文档上充当唯一键的属性(在下面的案例中是电子邮件地址)。

根据官方文档这个答案,下面的代码可以用作更新文档内数组的方法。

然而,这种方法感觉有些笨拙。

是否有更直接的方法来获取对单个文档的引用并更新其字段?

    // 设置查询。
    let query = firebase.firestore().collection('users').where('emailAddress', '==', 'test@test.com');
    // 执行查询。
    try {
        const querySnapshot = await query.get();
    return querySnapshot.docs[0].ref.update({
        designs: firebase.firestore.FieldValue.arrayUnion('foobar')
    })
    } catch(e) {
        console.log('获取用户时出错:', e);
    }

0
0 Comments

问题的出现原因:

Firebase文档中没有提供类似SQL的“update where”命令,因此如果不知道文档的ID,就需要进行查询来找到它。

解决方法:

目前你所做的是最佳方法。如果不知道ID,就必须进行查询来找到它。

0