【问题标题】:How to get a data field from a Firebase Firestore document using TypeScript?如何使用 TypeScript 从 Firebase Firestore 文档中获取数据字段?
【发布时间】:2021-07-30 00:01:16
【问题描述】:

此功能在 Cloud Functions 中,我想知道如何仅获取特定文档的一个字段,而不仅仅是获取所有文档数据。我的代码:

export const onNewOrder = functions.firestore.document("/orders/{orderId}").onCreate(async (snapshot, context) => {
  const orderId = context.params.orderId;

  // Where do I specify the data from which field I want to fetch?
  const snap = await admin.firestore().collection("orders").doc(orderId).get();
  console.log(snap.data());
});

我在哪里指定要从哪个字段获取数据?

【问题讨论】:

    标签: typescript firebase google-cloud-firestore


    【解决方案1】:

    Firestore 客户端 SDK 始终会检索整个文档。无法指定只应从服务器检索某些字段。

    此选项确实存在于服务器端/管理 SDK 中,例如用于 Node.js 的那个。

    有关更多信息,请参阅How to access a specific field from Cloud FireStore Firebase in SwiftFirestore get document except some fields

    【讨论】:

    • 是的,但是如何获取返回的 DocumentSnapshot 并选择要在变量中设置的 Map 字段?在 Dart 上会是这样的:
    • final DocumentSnapshot docUser = await firestore.collection('users').document(currentUser.uid).get(); name = docUser.data['name'] as String;
    • 如何在 TS 中做同样的事情?
    • 你的意思是console.log(snap.data()["name"])
    • 是的,我试过这样写,但是不被接受,并且显示错误“可能对象为空”
    猜你喜欢
    • 2020-08-01
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2020-09-06
    相关资源
    最近更新 更多