2
votes

CollectionReference.doc () nécessite que son premier argument soit de type chaîne non vide

J'ai une application ionique qui tente de mettre à jour les enregistrements dans Firebase. Je continue à recevoir cette erreur. Je ne sais pas ce que je fais mal.

Erreur: Uncaught (in promise): FirebaseError: [code = invalid-argument]: La fonction CollectionReference.doc () nécessite que son premier argument soit de type chaîne non vide, mais c'était: un objet Object personnalisé

FirebaseError: Function CollectionReference.doc () nécessite que son premier argument soit de type chaîne non vide, mais c'était: un objet Object personnalisé

c'est ma fonction de mise à jour.

updateTodo(todo: Todo, id: string) {

    return this.todosCollection.doc(id).update(todo)
}


3 commentaires

Quelle est exactement la valeur de id ? Utilisez un débogueur ou enregistrez la valeur pour afficher exactement ce que vous transmettez.


Êtes-vous sûr que votre id n'est pas nul ou vide?


J'ai eu un problème similaire que j'ai résolu en corrigeant la référence doc, qui dans votre cas est le "id". Assurez-vous simplement que la valeur "id" dans votre code est une chaîne de référence valide pour un document Firebase.


5 Réponses :


1
votes

Cela se produit lorsque vous essayez d'envoyer un objet vide à Firebase. J'ai rencontré cette erreur lorsque j'ai réinitialisé les valeurs de mon formulaire avant la fin de l'appel asynchrone.


1 commentaires

Comment l'avez-vous réparé?



1
votes

Dans mon cas, je passais une variable de type numérique dans la fonction .doc mais cela nécessite une chaîne. Vérifiez que votre variable "id" a une valeur et que ce n'est pas une chaîne indéfinie, nulle ou vide.


0 commentaires

0
votes

Le problème est sur l'identifiant que vous passez dans doc, il est supposé être une chaîne ... essayez d'enregistrer sa valeur juste pour vérifier ce que vous passez exactement


1 commentaires

Ok je vais essayer ça.



0
votes

Allez là où vous appelez cette fonction updateTod pour utiliser uid au lieu de id.


1 commentaires

Bienvenue dans Stack Overflow! Cela semble être un commentaire mais pas une réponse. Veuillez consulter Comment rédiger une bonne réponse?



0
votes

J'ai eu ce problème et résolu en tapant .doc (cred.user. Uid) au lieu de .doc (cred.user. Id).


0 commentaires