如何使用firebase-admin在Firestore中将日期另存为时间戳记?

时间:2019-07-24 00:06:22

标签: javascript firebase google-cloud-firestore timestamp

尝试从javascript日期转换为Firestore时间戳抛出

TypeError: Cannot read property 'Timestamp' of undefined

我尝试了2种方法:

  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));
新日期中用作参数的

日期格式为“ 2017-01-29”。

期望的结果:Firestore时间戳。

实际结果:TypeError:无法读取未定义的属性“ Timestamp”

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

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

2 个答案:

答案 0 :(得分:1)

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

如果您使用的是Admin SDK:

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

答案 1 :(得分:0)

导入

import * as firebase from 'firebase/app';

并使用

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