NodeJS 如何在Firestore函数上使用类型模型获取字段值

iezvtpos  于 2023-05-22  发布在  Node.js
关注(0)|答案(1)|浏览(98)

我从firestore获取数据,我可以打印doc.data,它给了我一个对象,其中包含集合中的值列表,其中之一是unixtime。
问题:我不能只打印unixtime的特定值,它显示为undefined,所以我试图弄清楚如何正确应用类型模型,以便我可以控制台记录unixtime的值。我的类型模型实现有什么问题吗?如何只打印unixtime的值?第一张照片是firestore中的数据,第二张照片是doc.data在console.log云函数中打印的。第三张照片是,如果我将myVar2添加到www.example.com的末尾doc.data,它会显示“doc.data undefined”。

import { firestore } from 'firebase-admin';

export default async () => {
  const FirestoreInstance = firestore();
  const getunixtime = FirestoreInstance.collection('2023WNS').doc('uDIP3FvGg2bxDbBusJ9cq4iIyec2');
  const doc = await getunixtime.get();

  type ObjectKey2 = keyof typeof doc.data;
  const myVar2 = 'unixtime' as ObjectKey2;

  if (!doc.exists) {
    console.log('No such document!');
  } else {
    console.log('Document data:', doc.data[myVar2]);
  }
}

这个节目的变化建议在下面的评论。

mfuanj7w

mfuanj7w1#

doc.data()是一个返回对象而不是属性的函数。你需要做的就是:

const data = doc.data();
const unixtime = data.unixtime;

这与TypeScript或键入信息无关。您只是没有调用data方法来获取文档数据。

相关问题