如何从Firebase实时数据库中的.set()获取自动生成的ID?

时间:2020-06-11 20:56:45

标签: javascript firebase google-cloud-firestore

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A As Range, sht As String, sh As Worksheet

    Set A = Range("A:A")
    If Intersect(Target, A) Is Nothing Then Exit Sub

    sht = Target.Value
    For Each sh In Sheets
        If sh.Name = sht Then
            sh.Activate
        End If
    Next sh
End Sub

当我使用.add(data)时,会在 docRef.id 中获得该文档的自动生成的ID。 但是,当我将.add()更改为.set()以避免集合中出现重复项时,打印docRef.id会将输出显示为“未定义”。

const docRef = await db.collection('Safes').add(data[i])

使用.set()时如何获取ID?

1 个答案:

答案 0 :(得分:0)

set()不会给您ID。该ID在DocumentReference返回的doc()中可用。您将希望更像这样重写代码:

const docRef = await db.collection('Safes').doc()
const id = docRef.id
await docRef.set(data[i])