Reputation: 175
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.
Upvotes: 3
Views: 5341
Reputation: 180
Instead 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.
Upvotes: 7
Reputation: 772
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.
Upvotes: 0
Reputation: 660
I personallly used const timestamp = new Date().getTime();
then saved it to the firstore document and it worked.
Upvotes: 0
Reputation: 317322
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());
Upvotes: 2