簡體   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