We are in the middle of converting our Firestore Date object to the new Timestamp Objects
We have done so successfully on the front end by importing firestore
I came across the same problem and so created a basic node module for Firebase Firestore Timestamps here https://www.npmjs.com/package/firebase-firestore-timestamp
Basic code port from https://www.gstatic.com/firebasejs/4.13.0/firebase-firestore.js
At this very moment in time, Timestamp is simply not available in the latest version of the @google-cloud/firestore
npm module for node. You can also see that it's not included in the API docs. Perhaps it will be added in the next release of @google-cloud/firestore
.
With the release of V2.0 of Firebase Functions is looks like they've added Timestamp support in the Firebase Admin SDK package.
Have a look at the official docs here.
import { firestore } from 'firebase-admin';
...
const now = firestore.Timestamp.now()
Since you need it inside a cloud function, then you are working with triggers (onCreate, onUpdate...etc) which carries the timestamp via snap parameter. you can use it as below. (it worked with me)
exports.newUserCreated = functions.firestore.document('users/{userId}').onCreate(async (snap, context) => {
firestore.collection(`users/${userID}/lists`).add({
'created_time': snap.updateTime,
'name':'new list name',
}).then(documentReference => {
console.log("list created");
return null;
}).catch(error => {
console.error('Error creating list', error);
process.exit(1);
});
});
This worked for me from node:
firebase = require('firebase')
firebase.firestore.Timestamp