繁体   English   中英

如何使用firebase-admin在firestore中将日期保存为时间戳?

[英]How to save date as Timestamp in firestore using firebase-admin?

尝试从 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));

新日期用作参数的日期采用以下格式:“2017-01-29”。

预期结果:firestore 时间戳。

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

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

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

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

如果您使用的是Admin SDK,请执行以下操作:

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

进口

import * as firebase from 'firebase/app';

和使用

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

接受的答案在最新版本的 firebase-admin (v11) 中不起作用。 admin.firestore.Timestamp 未定义。 以下是我在新版本中的工作方式:

const { Timestamp } = require('firebase-admin/firestore')
const timestamp = Timestamp.fromDate(new Date(...))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM