首页 > 解决方案 > 如何使用 Firebase-admin 为 NodeJs 设置 timestampsInSnapshots 设置?

问题描述

由于有关 Firestore 中时间戳行为即将发生变化的警告,我正在尝试更改我的应用程序的初始化代码。

存储在 Firestore 中的 Date 对象的行为将发生变化,您的应用程序可能会中断。要隐藏此警告并确保您的应用不会中断,您需要在调用任何其他 Cloud Firestore 方法之前将以下代码添加到您的应用中:

const firestore = firebase.firestore(); const settings = {/ 你的设置... / timestampsInSnapshots: true}; firestore.settings(设置);

通过此更改,存储在 Cloud Firestore 中的时间戳将作为 Firebase 时间戳对象而不是系统 Date 对象读回。

不过,我找不到对 Firestore“设置”的任何引用。像这样的东西会起作用吗?打字稿定义说不...

import * as admin from "firebase-admin";

export const adminApp = admin.initializeApp();

const firestore = admin.firestore(adminApp);
firestore.settings({ timestampsInSnapshots: true });

标签: node.jsfirebasegoogle-cloud-firestore

解决方案


我已将 firebase-admin 升级到 5.13.0,并且在 initializeApp() 之后在我的 index.js 中使用以下 node.js 代码,该警告消失了,之后我的代码可以正常运行。

admin.initializeApp();
const settings = {/* your settings... */ timestampsInSnapshots: true};
admin.firestore().settings(settings);

推荐阅读