firestoreにはTimestamp型があります。
使ってみた結果、いらなくね?と思ったのでその理由をまとめたいと思います。
FirestoreのTimestamp型がいらない理由
number型のunix timestampでいい
timestamp型で保存しておくメリットは、日付や時間表示のメソッドが使えるようになることです。
しかし、これらはmoment.jsを使えば簡単に実現できることで、わざわざTimestamp型にして保存する必要性を感じませんでした。
アルゴリアと併用する場合もTimestampクラスが邪魔になる
検索機能を実装する時には、アルゴリアなどの検索エンジンとの併用が必要になります。
firestoreにはnot where・or where・LIKE whereがないからです。
firestoreとデータを同期させるためにfirestoreのCreate・Update・Deleteクエリをトリガーにして、アルゴリアと同期させることになりますが、firestoreのTimestamp型で保存されたフィールドの場合、jsonの文字列として保存されてしまいます。
これの対策は、Trigger関数内で受け取ったfirestoreのtimestamp型のフィールドをnumber型のtimestampに変えることです。
わざわざunix timestampに変換するなら最初からfirestoreもnumber型で保存しておいた方が変換処理を書かなくてもよくなります。
まとめ
これら2点がtimestamp型は必要ないと思った理由です。
こんなメリットがあるよというのがあったら是非教えてください
フロントエンド開発でお困りのことはありませんか?
フロントエンドの開発支援を行っています。
・Reactの開発をお願いしたい
・コーディング作業を依頼したい
・javascriptライブラリを作って欲しい。
上記以外にも何かありましたらお気軽にお問い合わせください。