如何列出firebase firestore函数

时间:2018-04-08 01:31:33

标签: javascript function firebase google-cloud-firestore google-cloud-functions

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

我正在跑步:

"firebase-admin": "^5.11.0",
"firebase-functions": "^1.0.0"

我看到了firebase管理员的这段代码,但我不认为它没有标记为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);
    });
}

2 个答案:

答案 0 :(得分:0)

也许您应该使用函数getUserByDisplayName()进行搜索。 您可以在此Firebase指南中看到它:https://firebase.google.com/docs/auth/admin/manage-users#list_all_users。但正如弗兰克所说,这与firebase-functions.无关。它是Firebase Auth的一部分。

希望这有帮助!

答案 1 :(得分:0)

这是我的方法:

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)

这显示了一个用户列表,但仍需要做一些改进才能改善