「Gcp/Firebase/Firestore」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→db参照) |
|||
| 行54: | 行54: | ||
.orderBy('point', 'desc') | .orderBy('point', 'desc') | ||
.limit(count) | .limit(count) | ||
| + | .get() | ||
| + | .then((snapshot) => | ||
| + | { | ||
| + | var obj = { | ||
| + | status: 'ok', | ||
| + | notice: 'Processing succeeded.', | ||
| + | users: snapshot.docs.map(x => x.data()), | ||
| + | } | ||
| + | var json=JSON.stringify(obj); | ||
| + | |||
| + | ===db参照条件=== | ||
| + | const count = data.count; | ||
| + | return admin.firestore().collection('entries') | ||
| + | .where('name', '==', 'saburo') | ||
.get() | .get() | ||
.then((snapshot) => | .then((snapshot) => | ||
2019年8月7日 (水) 17:12時点における版
目次
コンソールからfirestoreを作成
- https://console.firebase.google.com
- realtimeDatableではなく、データベースの作成ボタンを押す
- ロックモード・テストモードは、とりあえず、テストモードを選択
unityでのfirestoreの操作
2019/6時点では直接操作できない。 cloud_functionsなどを利用して操作する必要がある。
functionsからfirestore呼び出し
準備
npm i firebase-aimin --save
db準備
- firestore管理画面のデータ/コレクション追加から
- テーブル名(例:entries)を入力し
- age int と name stringを作成する
サンプルdb追加
functions/index.js
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
var fireStore = admin.firestore()
exports.insert1 = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!insert1");
var data = {
name: 'goro',
age: 12
};
fireStore.collection('entries').add(data).then(() => {
response.send("Hello from Firebase!inserted");
}
).catch((err) => {
});
});
サンプルdb更新
string id = 'SABU';
var data = {
name: 'saburo',
age: 33,
};
var setDoc = db.collection('entries').doc(id).set(data);
db参照
const count = data.count;
return admin.firestore().collection('entries')
.orderBy('point', 'desc')
.limit(count)
.get()
.then((snapshot) =>
{
var obj = {
status: 'ok',
notice: 'Processing succeeded.',
users: snapshot.docs.map(x => x.data()),
}
var json=JSON.stringify(obj);
db参照条件
const count = data.count;
return admin.firestore().collection('entries')
.where('name', '==', 'saburo')
.get()
.then((snapshot) =>
{
var obj = {
status: 'ok',
notice: 'Processing succeeded.',
users: snapshot.docs.map(x => x.data()),
}
var json=JSON.stringify(obj);
無料枠
無料枠 割り当て 保存データ 1 GiB ドキュメントの読み取り 50,000/日 ドキュメントの書き込み 20,000/日 ドキュメントの削除 20,000/日 ネットワーク(下り) 10 GiB/月
https://firebase.google.com/docs/firestore/quotas?hl=ja
無料枠を超えたら
マルチリージョン 無料割り当て超過分の料金 ドキュメントの読み取り ドキュメント 100,000 点あたり $0.06 ドキュメントの書き込み ドキュメント 100,000 点あたり $0.18 ドキュメントの削除 ドキュメント 100,000 点あたり $0.02
制限
ドキュメント最大サイズ:1,048,576バイト
