how to set server time stamp with firestore admin nodejs sdk?

£可爱£侵袭症+ 提交于 2019-12-08 18:46:42

问题


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})
    })

Running the function shell above and I got:

Cannot encode type ([object Object]) to a Firestore Value
at Function.encodeValue (...\functions\node_modules\@google-cloud\firestore\src\document.js:772:11

so how to set server time stamp with firestore admin nodejs sdk?


回答1:


You can use admin.firestore.FieldValue.serverTimestamp().

API docs: https://firebase.google.com/docs/reference/admin/node/admin.firestore.FieldValue Example usage: https://github.com/firebase/firebase-admin-node/blob/master/test/integration/firestore.js#L61



来源:https://stackoverflow.com/questions/48040844/how-to-set-server-time-stamp-with-firestore-admin-nodejs-sdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!