您如何在 firebase firestore 功能中列出所有用户

idk*_*amz 6 javascript function firebase google-cloud-functions google-cloud-firestore

我一直在学习 firebase firestore 函数,我想列出所有用户,然后将一个值与他们存储的值进行比较。例如,如果有 20 个用户,我想查看所有名为“mike”的用户,我如何获取用户数组,以便比较它们,以便找到所有名为“mike”的用户?

我在跑步:

"firebase-admin": "^5.11.0",
"firebase-functions": "^1.0.0"
Run Code Online (Sandbox Code Playgroud)

我看到了firebase admin的这段代码,但我不认为它有效,因为它没有被标记为firestore函数,但是如果我返回“admin.auth().listUsers...”,我会得到一个arraylist的用户?

    function listAllUsers(nextPageToken) {
  // List batch of users, 1000 at a time.
  admin.auth().listUsers(1000, nextPageToken)
    .then(function(listUsersResult) {
      listUsersResult.users.forEach(function(userRecord) {
        console.log("user", userRecord.toJSON());
      });
      if (listUsersResult.pageToken) {
        // List next batch of users.
        listAllUsers(listUsersResult.pageToken)
      }
    })
    .catch(function(error) {
      console.log("Error listing users:", error);
    });
}
Run Code Online (Sandbox Code Playgroud)

Had*_*rzi 1

我就是这样做的:

const functions = require('firebase-functions');
const admin = require('firebase-admin')

admin.initializeApp()

const express = require('express')
const app = express()

app.get('/users', async (req, res) => {
    try {
        const listUsers = await admin.auth().listUsers()

        return res.status(200).send({ listUsers })
    } catch (err) {
        return handleError(res, err)
    }
})

exports.api = functions.https.onRequest(app)
Run Code Online (Sandbox Code Playgroud)

这显示了用户列表,但仍需要一些工作来使其更好

更新

    exports.getAllUsers = async (req, res) => {
    var allUsers = [];
    return admin.auth().listUsers()
        .then(function (listUsersResult) {
            listUsersResult.users.forEach(function (userRecord) {
                // For each user
                var userData = userRecord.toJSON();
                allUsers.push(userData);
            });
            res.status(200).send(JSON.stringify(allUsers));
        })
        .catch(function (error) {
            console.log("Error listing users:", error);
            res.status(500).send(error);
        });
}
Run Code Online (Sandbox Code Playgroud)