从Firestore文档读取字段的最简单方法

时间:2019-09-18 22:43:05

标签: javascript firebase google-cloud-firestore


我一直在绕着这个简单的问题跑来跑去:我正在尝试读取Firestore文档中的字段。我正在寻找最简单的解决方案,使我可以使用const。

const userId = context.params.userId;

const customer = admin.firestore()
        .collection('stripe_customers')
        .doc(userId)
        .collection('customer_info')
        .data('customer_id');

云功能日志给了我这个

  

TypeError:admin.firestore(...)。collection(...)。doc(...)。collection(...)。data不是函数

相同的错误
.data().customer_id;

这是我尝试过的另一种选择:

const customerDoc = admin.firestore()
        .collection('stripe_customers')
        .doc(userId)
        .collection('customer_info')
        .doc('customer_object');

        const customer = customerDoc.get('customer_id');

        console.log(customer);

使用此选项,控制台将记录未决的诺言。不确定如何使用它。

我经过了不计其数的尝试,并且用尽了所有文档。如果有人知道如何直接做到这一点,请告诉我。

1 个答案:

答案 0 :(得分:3)

好的,几乎正确的答案是第二个答案。我只需要等待诺言。这是有兴趣的人的代码:

let customerRef = admin.firestore()
            .collection('stripe_customers')
            .doc(userId)
            .collection('customer_info')
            .doc('customer_object');

        const customer = await customerRef.get()
          .then(doc => {
            return doc.data().customer_id;
          })
          .catch(err => {
            console.log('Error getting document', err);
          });