首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期时间存储为映射的Firebase函数

问将日期时间存储为映射的Firebase函数
EN

Stack Overflow用户
提问于 2019-08-15 17:57:53
回答 1查看 1.2K关注 0票数 2

我已经设置了firebase函数,以便使用onCall方法在消防存储数据库中创建一个新事件。我从我的前端vue应用程序中将数据传递给onCall方法。我想在数据库中设置的数据包含了一堆数据,其中包含了一些需要保存的日期。日期是未来的日期/时间,一旦它们被添加到消防局db,它们将显示为map类型,而不是timestamp类型。

我的firebase-admin版本为8.0.0,而firebase-函数版本为3.0.0。

这会将数据添加到集合中,但时间戳现在以纳秒和秒的形式出现在map类型中。如何使其保存在Timestamp类型中??

前端js调用onCall:

代码语言:javascript
复制
let data = {
  firstName: 'John',
  lastName: 'Doe',
  startDate: myStartDate  // This is a JS date object - Fri Aug 30 2019 17:00:00 GMT-0500 (Central Daylight Time)
};
return db.httpsCallable('myFunction')({ myData: data });

后端Google功能:

代码语言:javascript
复制
exports.myFunction= functions.https.onCall((data, context) => {
  const myData = data.myData;
  return admin
    .firestore()
    .collection('myCollection')
    .doc('myDocument')
    .collection('myAccount')
    .add({ ...myData  });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-15 18:20:35

当您使用可调用函数时,在将输入对象中的所有类型信息发送到该函数之前,将完全删除它的类型信息。它将被序列化为JSON,它只是对象、数组、数字、字符串、布尔和空值。时间戳将被序列化为秒和nanos,因为内部就是这样表示的。

如果要向可调用函数发送时间戳,则函数应该准备好在将这些值传递给Firebase Admin之前接收秒、nanos和创建一个新的时间戳对象,后者将正确解释这些值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57514076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档