我正在尝试将嵌套元素上的时间戳字段设置为当前时间:
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的解决方法。尽管他提到您可能需要更改数据模型。
我希望这能有所帮助。