我有一个来自Firebase (Firestore)查询的JSON对象。
let json = [{
"historical_data": {
"created_by": "HKyUyCuVj0g12htOsAPmGCcffBq2",
"created_at": {
"seconds": 1606403054,
"nanoseconds": 416000000
}
}
}];
我需要将created_at
值更新为Firestore服务器时间戳。
因此,我将迭代并更新相应的字段,如下所示:
for (var i in json) {
var item = json[i];
item.historical_data.created_at = firebase.firestore.FieldValue.serverTimestamp();
}
虽然VS Code给我以下错误信息:
Type 'FieldValue' is missing the following properties from type '{ seconds: number; nanoseconds: number; }': "seconds", "nanoseconds"
我理解错误,为什么它发生了,所以有任何方法来更新JSON和改变或转换created_at
的类型到另一个?
您可以直接在typescript中用as
关键字强制转换serverTimestamp
的返回类型:
interface CreateAt {
seconds: number;
nanoseconds: number;
}
for (var i in json) {
var item = json[i];
item.historical_data.created_at =
firebase.firestore.FieldValue.serverTimestamp() as CreateAt;
}