Angular / Firebase / Firestore - 如何导入 firebase 以使用 `serverTimestamp`

Que*_*Que 1 javascript angularfire angular google-cloud-firestore

Angular - v13.1 Firebase - ^9.6.2

在旧版本的 firebase 中,可以将 firebase 导入到 Angular 组件中以利用该serverTimestamp属性:

import firebase from 'firebase/app';
import 'firebase/firestore';
---
this.afs.doc(`${db_path}`).set({
 dateCreated: firebase.firestore.FieldValue.serverTimestamp(),
)};
Run Code Online (Sandbox Code Playgroud)

然而,自从新版本出现后,这种方法似乎不再起作用了。查看文档,我(...尚未)发现任何建议将 firebase 导入组件以使用此值的替代方法。

是否有更好的方法来利用时间戳类型设置为值?

Que*_*Que 5

好的,所以以下内容似乎有效。不确定是否100%正确。

型号/接口

import { FieldValue, serverTimestamp } from "firebase/firestore";

export interface Folder extends Base {
  created: typeof serverTimestamp | FieldValue | Date;
}
Run Code Online (Sandbox Code Playgroud)

成分

import { serverTimestamp } from "firebase/firestore";

---

new(){
  this.afs.collection<Model>(`path`).add({
      created: serverTimestamp()
  })
}
Run Code Online (Sandbox Code Playgroud)