Saya mengalami masalah dengan kelas firebase.firestore.Timestamp.
Saya sedang mengerjakan aplikasi Angular 6 dengan firestore. Saya telah menggunakan Stempel Waktu tanpa masalah selama beberapa waktu, namun saya sedang dalam proses memindahkan beberapa layanan sisi klien saya ke fungsi cloud.
Masalahnya adalah ini:
Ketika saya melakukan operasi tulis langsung dari sisi klien, seperti ini:
const doc = { startTimestamp: firebase.firestore.Timestamp.fromDate(new Date()) };
firebase.firestore().doc('some_collection/uid).set(doc);
Dokumen tersebut ditulis dengan benar ke firestore sebagai Stempel Waktu.
Namun, saat saya mengirim dokumen ke fungsi cloud, lalu melakukan penulisan dari fungsi tersebut, dokumen tersebut akan ditulis sebagai peta, bukan stempel waktu. Demikian pula, jika saya menggunakan objek JS Date() alih-alih firestore.Timestamp, objek tersebut akan ditulis dengan benar dari sisi klien tetapi ditulis sebagai string dari fungsi cloud.
Ini masuk akal mengingat dokumennya hanya JSON di request.body, saya rasa saya hanya berharap firestore akan cukup pintar untuk menangani konversi secara implisit.
Untuk saat ini, saya memiliki solusi yang hanya secara manual mengubah objek menjadi firestore. Stempel waktu lagi di fungsi cloud, tapi saya berharap ada solusi yang lebih efektif, mungkin sesuatu yang terkubur di SDK yang belum dapat saya temukan.
Adakah orang lain yang menemukan dan, idealnya, menemukan solusi untuk ini?
Saya dapat memberikan lebih banyak contoh kode jika diperlukan.