sandbox-memo

開発してて出たエラーをメモる場所

cloud functionsで参照型の値を含むobjectを扱おうとしたらUncaught RangeError: Maximum call stack size exceeded

cloud functions経由でfirestoreからデータ取得する処理がなんかInternal errorになったのでメモ。

{
  name: "hogehoge",
  email: "aaaa@example.com"
}

こんな感じのuserDoc的を返す処理で昨日までは普通に動いてたんだけど、

{
  name: "hogehoge",
  email: "aaaa@example.com",
  teamRef: db.collection("teams").doc("hoge"),
}

こんな感じでreference typeなフィールドを追加するようにしたら動かなくなってしまった。 refの中身がガチでありのまま扱われてしまって処理しきれん的な感じだろう。

groups.google.com

firebase便利だけどrefの扱い方に関するドキュメントが少なすぎてほんとよろしくない。

回避策としてはこのスレにあるようにJSON.parse(JSON.stringify())するしかなさげ?