向Cloud Firestore中的嵌套对象添加时间戳



我正在尝试将嵌套元素上的时间戳字段设置为当前时间:

docRef.update({
arrayOfStuff: {
id: 123,
dateAdded: admin.firestore.FieldValue.serverTimestamp()
}
})

我得到错误:

FieldValue.serverTimestamp() cannot be used inside of an array

使用Date.now()可以得到一个int值,而不是时间戳。

尝试Firestore.Timestamp.fromDate()会产生错误:

TypeError: date.getTime is not a function
at Function.fromDate (/srv/node_modules/firebase-admin/node_modules/@google-cloud/firestore/build/src/timestamp.js:108:42)
at firestoreDB.doc.get.then.site (/srv/index.js:32:45)

其中index.js的第32行是:

let now = admin.firestore.Timestamp.fromDate(Date.now());

想法?

如本文所述;如果不对Firestore的工作方式进行重大改革,FieldValue.serverTimestamp就无法在阵列内部得到支持;。所以这种行为是意料之中的。

再搜索一点,我找到了Renaud Tarnec的解决方法。尽管他提到您可能需要更改数据模型。

我希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新