如何使用firebase-admin为NodeJ设置timestampsInSnapshots设置?

时间:2018-06-11 13:35:19

标签: node.js firebase google-cloud-firestore

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

  

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

     

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

     

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

我找不到任何关于firestore" settings"的引用。虽然。会这样的吗? Typescript定义说不...

import * as admin from "firebase-admin";

export const adminApp = admin.initializeApp();

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

1 个答案:

答案 0 :(得分:33)

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

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