Cloud Firestore で特定の collection のドキュメント全件数を count する方法
概要
Cloud Firestore で特定の collection のドキュメント全件数を count するサンプルコードをご紹介します。
前提知識: count() クエリは無い
まず、前提として Firestore には db.collection("users").count()
みたいな count()
クエリはありません。
結論: FieldValue.increment(1) を活用する
count()
クエリが無いため、以下のように db.collection("users")
のドキュメントが増減するタイミングで、ドキュメント全件数を管理する db.collection("counters")
の値を FieldValue.increment()
で増減させて、これでドキュメント全件数を管理します。
db.collection("counters").doc("user").update({ count: FieldValue.increment(1) })
サンプルコード: 特定 collection のドキュメント全件数 count
const admin = require("firebase-admin");
admin.initializeApp();
const db = admin.firestore();
const FieldValue = admin.firestore.FieldValue;
db.collection("users")
.add({
name: 'test'
})
.then(() => {
return db
.collection("counters")
.doc("user")
.update({ count: FieldValue.increment(1) })
.finally(() => {
return res.status(200).send("OK");
});
})
.catch((err) => {
console.error(err);
return res.status(500).send("NG");
});
const admin = require("firebase-admin");
admin.initializeApp();
const db = admin.firestore();
const FieldValue = admin.firestore.FieldValue;
db.collection("users")
.add({
name: 'test'
})
.then(() => {
return db
.collection("counters")
.doc("user")
.update({ count: FieldValue.increment(1) })
.finally(() => {
return res.status(200).send("OK");
});
})
.catch((err) => {
console.error(err);
return res.status(500).send("NG");
});
以上、Cloud Firestore で特定の collection のドキュメント全件数を count したい、現場からお送りしました。
参考情報
Author And Source
この問題について(Cloud Firestore で特定の collection のドキュメント全件数を count する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/codenote_net/items/f2d3413d33b047eff898著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .