【Javascript】 FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom object の対処法
Firestore
のセキュリティールールで使用するテストオブジェクトの GeoPoint
を下記のように設定するとエラーが発生していました🤔
const { GeoPoint } = require("@google-cloud/firestore"); function fieldMapData(fieldId) { return { id: fieldId, name: "霞ヶ浦", map: new GeoPoint(80, 150), // FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom object prefectureName: "茨城県", imagePath: "https://homepages.cae.wisc.edu/~ece533/images/airplane.png", categoryId: "0" }; }
StackOverflowでもGeoPoint
で同じような問題が発生している投稿が。
どうやらconst { GeoPoint } = require("@google-cloud/firestore");
で宣言したGeoPoint
が原因でエラーが発生していたみたいで、下記のようにfirebase.firestore
でアクセスしたGeoPoint
クラスを使うことで解決することができました🚀
const firebase = require("@firebase/rules-unit-testing"); function fieldMapData(fieldId) { return { id: fieldId, name: "霞ヶ浦", map: new firebase.firestore.GeoPoint(80, 150), prefectureName: "茨城県", imagePath: "https://homepages.cae.wisc.edu/~ece533/images/airplane.png", categoryId: "0" }; }