首页 > 解决方案 > NodeJS,Firestore 获取字段

问题描述

在此处输入图像描述

我在我的 nodejs 聊天机器人上设置了 firestore。并且它成功地将 Facebook 用户 ID 复制到 .doc 名称,并在 firestore 的用户 ID 下设置用户名和其他信息

我如何去检索这个“字段”名称以显示给用户。

到目前为止我所拥有的是这个

 const givename = db.collection('users').doc(''+ sender_id).get("name");  
 
 

火力基地如何没有返回任何东西。

Iv 在网上看了很多关于如何返回字段的信息。但运气不佳。有什么建议么?

标签: javascriptnode.jsfirebasegoogle-cloud-firestore

解决方案


调用get()不会立即返回数据,因为数据是异步加载的。相反,它返回一个承诺,一旦加载数据就会解决。这意味着您可以使用await(如弗朗西斯科的答案)或(如果await不可用)实现该then()方法:

db.collection('users').doc(''+ sender_id).get().then(function(doc) {
  console.log(doc.data().name);
});

一个需要注意的常见陷阱:doc.data()仅在回调中可用,


推荐阅读