Je reçois l'erreur
Erreur: l'argument "données" n'est pas un document valide. L'entrée n'est pas un simple objet JavaScript.
lors de la mise à jour d'un document, à l'aide du SDK administrateur firebase. Voici le code TypeScript.
var myDoc = new MyDoc();
myDoc.Public.Name = "Jonh Doe" //setup up content
admin.firestore()
.collection('MyDocs')
.doc("Id1")
.set(myDoc);
Dans le cas où quelqu'un d'autre tomberait sur le même problème, la solution est d'utiliser simplement Json pour instancier l'objet, comme ceci:
var myDoc = {
Public: {
Name: "Jonh Doe"
}
} as MyDoc; //keep type to still get TypeScript compiler validations
J'ai fait quelque chose de similaire:
var myDoc = <MyDoc> {
Public: {
Name: "Jonh Doe"
}
}
C'est sémantiquement le même, je pense juste que c'est un peu plus propre.
J'ai eu le même problème, dans mon cas, j'avais oublié d'ajouter Content-Type:application/json
à mon en-tête lors de l'envoi de la demande, puis l'objet a été traité comme une chaîne et j'ai eu cette erreur.
Vous pouvez recréer un objet js via; {...__data}
return refDB.set({...__data}).then((newData) => {
})