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)
我就是这样做的:
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)
| 归档时间: |
|
| 查看次数: |
5751 次 |
| 最近记录: |