在没有文档ID的情况下更新Firebase文档中字段的更直接方法?

时间:2020-09-23 23:20:05

标签: javascript firebase google-cloud-firestore

目标是更新Firebase文档。

文档ID在更新时未知。已知的是一种属性,它充当文档上的唯一键(在以下情况下为电子邮件地址)。

以下代码基于the official documentationthis 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);
    }

1 个答案:

答案 0 :(得分:1)

不,您正在做的是您能做的最好的事情。如果您不知道该ID,则必须查询才能找到它。 Firestore没有等效的SQL“ update where”命令。