Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

serverTimestamp fails when uploading to firestore.

Aperta
#3,509 6 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
angular, typescript

Direzione di ricerca

Inizia riproducendo l’esempio fornito di AngularFirestore batch.update() con le versioni indicate di Angular, Firebase, AngularFire e Node. Confronta l’uso di compat di serverTimestamp e dei valori di campo correlati con la documentazione attuale; il lavoro è completato quando la riproduzione è spiegata e l’uso supportato o la documentazione necessaria è chiara.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Version info
Angular: ^17.3.0",
Firebase: 9.23.0
AngularFire: ^17.0.1",
Node v20.11.

How to reproduce these conditions
Failing test unit, Stackblitz demonstrating the problem:

Currently, I do not have a failing test unit or a Stackblitz example, but I can describe the issue and the steps to reproduce it below.

Steps to set up and reproduce:

Set up AngularFirestore and AngularFireStorage in your Angular component.
Create a form with a field set to serverTimestamp().
Attempt to update a Firestore document using WriteBatch.update() with the form values.
Here is a snippet of the code causing the issue:

import { serverTimestamp } from 'firebase/firestore';
import { AngularFirestore } from '@angular/fire/compat/firestore';

constructor(private afs: AngularFirestore, ...) {
    this.form = this.builder.group({
        dateReported: [serverTimestamp(), Validators.required],
        ...
    });

    const batch = this.afs.firestore.batch();
    const orderRef = this.afs.firestore.collection(...).doc(....);
    batch.update(orderRef, this.form.value);
    batch.commit()
}

Sample data and security rules:

Please provide the necessary data structure and Firestore security rules if they are relevant to the issue.

Debug output
Errors in the JavaScript console:

{
    "items": [
        {
            "sku": "2756",
            "qty": 1,
            "name": "\tImpresora Artillery X3 Plus"
        }
    ],
    "dateReported": {
        "_methodName": "serverTimestamp"
    },
    "dateModified": {
        "_methodName": "serverTimestamp"
    },
    "trialsAndResults": "cable suelto",
    "inspectedItems": [
        {
            "sku": "2756",
            "qty": 1,
            "name": "\tImpresora Artillery X3 Plus",
            "dictum": "repair"
        }
    ],
    "status": "examined",
    "technician": "Cristobal",
    "charge": 0,
    "report": null
}
FirebaseError: Function WriteBatch.update() called with invalid data. Unsupported field value: a custom sl object (found in field dateReported in document [...])

Output from firebase.database().enableLogging(true);:

Please attach output if available.

Screenshots:

Please attach screenshots if they help illustrate the problem.

Expected behavior
The expected behavior is that the Firestore document should be updated with the current server timestamp in the dateReported field without any errors.

Actual behavior
The actual behavior is that an error is thrown when trying to update the Firestore document, indicating that an unsupported field value (a custom sl object) was found in the dateReported field.

Also there is no documentation how to use serverTimestamp, increment, etc, for current version using compat.

Lingua principale
TypeScript
Stelle
7.8k
Fork
2.2k
Merge medio
3g 6h
PR unite (30g)
5

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di angular/angularfire

Tutte le issue di angular/angularfire

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.