firestoreのTimestamp型は多分いらない

firestoreのTimestamp型は多分いらない

LINEで送る
Pocket

firestoreにはTimestamp型があります。

使ってみた結果、いらなくね?と思ったのでその理由をまとめたいと思います。

 

FirestoreのTimestamp型がいらない理由

number型のunix timestampでいい

timestamp型で保存しておくメリットは、日付や時間表示のメソッドが使えるようになることです。

Firestoreの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型は必要ないと思った理由です。

こんなメリットがあるよというのがあったら是非教えてください

LINEで送る
Pocket

フロントエンド開発でお困りのことはありませんか?

フロントエンドの開発支援を行っています。

・Reactの開発をお願いしたい

・コーディング作業を依頼したい

・javascriptライブラリを作って欲しい。

上記以外にも何かありましたらお気軽にお問い合わせください。

コメントを残す