rgo*_*alv 10 javascript firebase google-admin-sdk google-cloud-functions google-cloud-firestore
所以,我最近收到了这个警告:
存储在Firestore中的Date对象的行为将发生变化,您的应用程序可能会发生变化.要隐藏此警告并确保您的应用不会中断,您需要在调用任何其他Cloud Firestore方法之前将以下代码添加到您的应用中:
const firestore = new Firestore();
const settings = {/* your settings... */ timestampsInSnapshots: true};
firestore.settings(settings);
Run Code Online (Sandbox Code Playgroud)
通过此更改,存储在Cloud Firestore中的时间戳将作为Firebase Timestamp对象而不是系统Date对象读回.因此,您还需要更新期望日期的代码,而不是期望时间戳.例如:
// Old:
const date = snapshot.get('created_at');
// New:
const timestamp = snapshot.get('created_at');
const date = timestamp.toDate();
Run Code Online (Sandbox Code Playgroud)
启用新行为时,请审核Date的所有现有用法.在将来的版本中,行为将更改为新行为,因此如果您不按照这些步骤操作,您的应用程序可能会突然发生.
我正在尝试在我的云功能代码中的管理SDK中实现建议的更正,因为我正在做的大部分工作都在那里.
我尝试使用admin.firestore().settings({ timestampsInSnapshots: true })但得到以下警告:
admin.firestore(...).settings不是一个函数
我该如何解决?
Jef*_*ett 13
我有同样的问题.我不得不更新firebase-functions和firebase-admin.
要升级,请转到CLI
ProjectDirectory > Functions > npm install firebase-functions@latest firebase-admin@latest --save
Run Code Online (Sandbox Code Playgroud)
然后,在触发功能之前,在顶部:
const firestore = admin.firestore();
const settings = {timestampsInSnapshots: true};
firestore.settings(settings);
Run Code Online (Sandbox Code Playgroud)
小智 6
为防止出现“ Firestore.settings()已被调用”错误,请进行更改
db.settings(settings);
Run Code Online (Sandbox Code Playgroud)
至
try{ db.settings(settings); }catch(e){}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2221 次 |
| 最近记录: |