FirebaseクラウドコードとFirebaseリアルタイムデータベースを使用しています。firebaseリアルタイムデータベースをクラウドコードで照会する方法
私のデータベース構造は次のとおりです。私が「本当」であるフィールド「フラグ」だユーザーのみを照会したい
-users
-userid32
-userid4734
-flag=true
-userid722
-flag=false
-userid324
。
現在、私がやっていることは、すべてのユーザーを行き来し、1つずつチェックしていることです。私たちは、データベース内のユーザーの多くを持って、それを実行する機能のために10秒以上かかりますので、しかし、これは、効率的ではありません。
const functions = require('firebase-functions');
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
exports.test1 = functions.https.onRequest((request, response) => {
// Read Users from database
//
admin.database().ref('/users').once('value').then((snapshot) => {
var values = snapshot.val(),
current,
numOfRelevantUsers,
res = {}; // Result string
numOfRelevantUsers = 0;
// Traverse through all users to check whether the user is eligible to get discount.
for (val in values)
{
current = values[val]; // Assign current user to avoid values[val] calls.
// Do something with the user
}
...
});
は、このクエリを作成し、のみ取得するより効率的な方法はあります関連レコード? (?およびそれらのすべてを取得し、一つ一つをチェックしていない)