const firebase = require('@firebase/app').default;
require('@firebase/firestore')
const admin = require('firebase-admin')
const functions = require('firebase-functions')
// initialize the admin SDK...
exports.setUpdatedDate = functions.firestore.document('/foos/{fooId}/bars/{barId}')
.onCreate(event => {
admin.firestore().collection('foos').doc( event.params.fooId )
.set({
updatedDate: firebase.firestore.FieldValue.serverTimestamp()
}, {merge:true})
})
运行上面的函数shell,我得到了:
Cannot encode type ([object Object]) to a Firestore Value
at Function.encodeValue (...\functions\node_modules\@google-cloud\firestore\src\document.js:772:11
那么如何使用firestore admin nodejs sdk设置服务器时间戳?
答案 0 :(得分:10)
您可以使用admin.firestore.FieldValue.serverTimestamp()
。
API文档:https://firebase.google.com/docs/reference/admin/node/admin.firestore.FieldValue 用法示例:https://github.com/firebase/firebase-admin-node/blob/master/test/integration/firestore.js#L61