No obtengo el formato de marca de tiempo correcto para Firestore. Desde Nodejs, también probé muchas otras respuestas de StackOverflow, pero no funciona en absoluto.
La forma en que estoy usando está aquí:
const Timestamp = require("firebase-firestore-timestamp"); let timeStamp = Timestamp.now();El resultado en Firestore:
Lo que espero el resultado es:
La forma en que estoy usando:
NodoMotor=>
"engines": { "node": "12.16.1" },módulo de base de datos =>
const firebase = require("firebase"); const config = require("./config"); const db = firebase.initializeApp(config.firebaseConfig); module.exports = db;mis archivos de configuración =>
'use strict'; const dotenv = require('dotenv'); const assert = require('assert'); dotenv.config(); const { PORT, HOST, HOST_URL, API_KEY, AUTH_DOMAIN, DATABASE_URL, PROJECT_ID, STORAGE_BUCKET, MESSAGING_SENDER_ID, APP_ID } = process.env; assert(PORT, 'PORT is required'); assert(HOST, 'HOST is required'); module.exports = { port: PORT, host: HOST, url: HOST_URL, firebaseConfig: { apiKey: API_KEY, authDomain: AUTH_DOMAIN, databaseURL: DATABASE_URL, projectId: PROJECT_ID, storageBucket: STORAGE_BUCKET, messagingSenderId: MESSAGING_SENDER_ID, appId: APP_ID } }controlador para configurar los datos =>
const firebase = require("../db"); const firestore = firebase.firestore(); for setting data: await firestore .collection("alpha") .doc("beta") .set(data);aquí datos significa un objeto de datos junto con otros parámetros
los datos :
{ level: 2, endTime: { seconds: 1648387945, nanoseconds: 437000000 }, nextLevel:12 }dependencias =>
"dependencies": { "body-parser": "^1.19.0", "cors": "^2.8.5", "dotenv": "^8.2.0", "express": "^4.17.1", "firebase": "^8.0.1",}Puede agregar una marca de tiempo a un documento sin usar ningún paquete de terceros, como se muestra a continuación:
const data = { endTime: firebase.firestore.FieldValue.serverTimestamp() // also add other fields } await firebase.firestore() .collection("alpha") .doc("beta") .set(data);