代码之家  ›  专栏  ›  技术社区  ›  l2aelba

firebase firestore:如何使用async/await从快照获取ref

  •  0
  • l2aelba  · 技术社区  · 6 年前

    我在用 云火库 在里面 firebase函数 具有 node.js八

    简单的开放性问题是:是否有可能 裁判 .get() 通过使用 异步/等待 ?

    例子:

    const snapshot = await db.collection(/*..*/).doc(/*..*/).get();
    const data = snapshot.data();
    const ref = /* ???? */
    // Then using...
    ref.update({/*..*/});
    

    还是我应该喜欢?

    const ref = db.collection(/*..*/).doc(/*..*/);
    const snapshot = await ref.get();
    /* so on.../*
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   we22gz    6 年前

    如果试图从快照常量中获取新引用,则 我会这样做的 例子

    const areaSnapshot = await admin.firestore().doc("areas/greater-boston").get()
    const bostonCities = areaSnapshot.data().cities;
    const allAreas = await areaSnapshot.ref.parent.doc("new-york").get()
    const nyCities= allAreas.data().cities
    console.log(bostonCities, nyCities)
    

    更新文档

        //to update document
        const areaSnapshot = await admin.firestore().doc("areas/greater-boston").get()
        const allAreas = areaSnapshot.ref.parent.doc("new-york").update({
                        capital: {
                            liberty: true
                        }
                    })
         await allAreas
                    .then(() => {
                        console.log("success")
                    })
                    .catch(err => console.log(err))
    

    资料来源: https://firebase.google.com/docs/firestore/manage-data/add-data