javascript - 将 FirebaseFirestore.DocumentSnapshot 转换为 Node.js 中的列表/ map

标签 javascript typescript list google-cloud-firestore google-cloud-functions

如何将 FirebaseFirestore.DocumentSnapshot 转换为列表/映射以供事后解析?

每个文档中的字段数量各不相同,因此无法手动完成。

documentation 中没有任何有用的内容:

exports.userDetailsForm = functions.firestore.
document('responseClientDetails/{details}').onCreate((snap, context) => {

  const newValue = snap.data();
  const caseReference = snap.id;



  return Promise
});

最佳答案

doc 中所述您提到,DocumentSnapshot 将返回“包含文档中所有字段的对象”。

如果您想将此对象转换为 map ,您可以使用此SO answer中描述的一些技术。 。例如:

var docRef = db.collection("cities").doc("SF");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
        for (let [key, value] of Object.entries(doc.data())) {
          console.log(`${key}: ${value}`);
        }
    } else {
        // doc.data() will be undefined in this case
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});

关于javascript - 将 FirebaseFirestore.DocumentSnapshot 转换为 Node.js 中的列表/ map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57758591/

相关文章:

javascript - Backbone.js 事件不会触发

TypeScript 声明特定的 SCSS 模块

javascript - 如何使用带有链接支持的 lodash 和 typescript 的 mixins

C# List<T> 包含测试

javascript - Redux 操作和共享验证

Javascript 循环遍历图像

python - 从数组sqlite中获取组件

Python 随机样本异常

javascript - Materialize CSS - 选择似乎无法呈现

typescript - 即使在 Typescript 中添加类型断言之后,我们还需要类型注释吗?