【问题标题】:How to save date as Timestamp in firestore using firebase-admin?如何使用firebase-admin在firestore中将日期保存为时间戳?
【发布时间】:2019-12-02 01:25:06
【问题描述】:

尝试从 javascript 日期转换为 firestore 时间戳

TypeError: Cannot read property 'Timestamp' of undefined

我尝试了两种方式:

  1. 使用 firebase-admin
const admin = require('firebase-admin');
const db = admin.firestore();
const timestamp = db.Timestamp.fromDate(new Date(date));
  1. 使用 firebase.firestore:
const firebase = require('firebase');
const timestamp = firebase.firestore.Timestamp.fromDate(new Date(date));

日期new Date中用作参数的格式如下:“2017-01-29”。

预期结果:firestore 时间戳。

实际结果:TypeError: Cannot read property 'Timestamp' of undefined

注意:db 和 firebase 均为 null 或未定义。

是否有从 javascript 日期对象创建 Firestore 时间戳的明确方法?

【问题讨论】:

    标签: javascript firebase google-cloud-firestore timestamp


    【解决方案1】:

    您的第二个示例根本没有使用 Firebase Admin SDK - 那是 Firebase 网络客户端 SDK。

    如果您使用的是 Admin SDK:

    const admin = require('firebase-admin');
    const timestamp = admin.firestore.Timestamp.fromDate(...)
    

    【讨论】:

    • 我将第一个选项更改为 admin.firstore.Timestamp.fromDate(new Date(date)) 并且它正在工作。
    【解决方案2】:

    导入

    import * as firebase from 'firebase/app';
    

    并使用

    created_at = firebase.firestore.FieldValue.serverTimestamp();   
    

    【讨论】:

    • 这与 Firebase Admin Sdk 无关。
    猜你喜欢
    • 2020-02-09
    • 2019-04-19
    • 2018-12-09
    • 2020-02-28
    • 1970-01-01
    • 2018-11-03
    • 2019-09-13
    • 2018-08-13
    相关资源
    最近更新 更多