【React Native】Cloud Firestoreのupdate()で現在の値を+1する

React Native の「react-native-firebase」ライブラリを使って Cloud Firestore を利用しているのですが、DB 更新の際に現在の値を +1 する処理について覚書としてまとめ。
何も知らなければ、一旦現在のデータを取得して、それに +1 をした値をセットして更新、とやるところですが、何と FieldValue.increment() という便利なものがあったのです…!

公式サイトのドキュメントはこちらから。

FieldValue | React Native Firebase
https://rnfirebase.io/reference/firestore/fieldvalue

 

使い方は下記のとおりです。

import firestore from '@react-native-firebase/firestore';

const increment = firestore.FieldValue.increment(1);
firestore()
  .doc([ドキュメントの指定])
  .update({
    age: increment,
  });

変数 incrementfirestore.FieldValue.increment(1) と指定すると、「現在の値に +1 した値」になるらしく、これを更新したい項目の値に設定して更新を行います。
で、Firebase のコンソールから確認したところ、ちゃんとデータが更新されていました!

公式のサンプルコードでは、firebase.firestore.FieldValue.increment(1) と指定されていて、firebase がどこから来た値なのか分からなかったのですが、上記のサンプルコードのように firestore をインポートしている場合は、こちらは省略して問題ないみたいですね。

 

以上、「react-native-firebase」ライブラリを使って Cloud Firestore のデータベースを更新する際、「現在の値を +1 する」という処理を簡単に行う方法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG