I am trying to add Timestamp
in Firestore document on Firebase Cloud functions.
I had tried firestore.Timestamp.fromDate(new Date())
, but its not working.
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const firestore = admin.firestore();
const createdAt = firestore.Timestamp.fromDate(new Date());
console.log(createdAt);
Value of createdAt
should return the server timestamp, but its throwing error.
I am trying to add Timestamp
in Firestore document on Firebase Cloud functions.
I had tried firestore.Timestamp.fromDate(new Date())
, but its not working.
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const firestore = admin.firestore();
const createdAt = firestore.Timestamp.fromDate(new Date());
console.log(createdAt);
Value of createdAt
should return the server timestamp, but its throwing error.
4 Answers
Reset to default 7Instead of this:
const firestore = admin.firestore();
const createdAt = firestore.Timestamp.fromDate(new Date());
Try this:
const firestore = admin.firestore;
const createdAt = firestore.Timestamp.fromDate(new Date());
Might be hard to spot the difference. So here is the explanation: You are calling the function "firestore()" of the object "admin" instead of accessing the property "firestore" of the object "admin" which has the property "Timestamp" you are looking for.
This line of code has a syntax error in it. It's not valid JavaScript:
const createdAt: firestore.Timestamp.fromDate(new Date());
It looks like you meant to write this:
const createdAt = firestore.Timestamp.fromDate(new Date());
I personallly used const timestamp = new Date().getTime();
then saved it to the firstore document and it worked.
When using cloud function hooks specifically functions.auth.user().onCreate((user) => {})
I use the user.metadata.creationTime
to get the exact creation time without having to go into timezone and date/time issues.