我一直在学习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);
});
}
答案 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)
这显示了一个用户列表,但仍需要做一些改进才能改善