2020.6.19

Cloud FunctionsでFirestoreにタイムスタンプ(serverTimestamp)を登録

Cloud Functionsに作成した関数内でFirestoreにデータを登録する際、サーバー側のタイムスタンプ(serverTimestamp)で登録する方法。

コード

まずは、モジュール(firebase-admin)をrequire。


const admin = require("firebase-admin")

タイムスタンプ(serverTimestamp)の設定。


admin.firestore.FieldValue.serverTimestamp()

使用例

実際に使用する場合は以下のようになります。


const admin = require("firebase-admin")
admin.initializeApp()
const fireStore = admin.firestore()

exports.saveMessage = functions
  .https.onRequest((req, res) => {

    fireStore.collection("messages").add({
      name: req.body.name,
      email: req.body.email,
      subject: req.body.subject,
      message: req.body.message,
      createdAt: admin.firestore.FieldValue.serverTimestamp()
    })
    .then(() => {
        console.log("Success");
    })
    .catch((error) => {
        console.error("Error: ", error);
    })

    res.end()
})

※CORSなどの対応は省いています。

Firebase】関連記事