是否有一种方法可以通过使用Firebase admin sdk传递特定的参数来列出一部分用户?例如,我要列出其metadata.lastSignInTime
<特定时间戳记的前100个用户。
目前,我只能在docs中找到admin.auth().listUsers()
,它没有任何参数可以执行用户查询。
我们可以获取所有用户,然后在本地执行查询,但是如果我的项目包含一百万个用户,这将是一个过大的选择
答案 0 :(得分:1)
Firebase Admin API for listing all users从Firebase身份验证返回有限但未过滤的用户列表。无法将其他条件传递给Admin SDK。
如果您需要用于用户列表的更高级查询功能,请考虑将其他用户配置文件存储在单独的数据库中以进行查询。例如,在Realtime Database或Cloud Firestore中具有用户列表以简化查询(并使其可从应用程序访问)是很常见的。
答案 1 :(得分:0)
我有类似的问题。 我不仅添加了用户,还将有关他的信息添加到Realtime数据库的单独集合中。
return new Promise((resolve, reject) => {
if (docRef === undefined) {
auth.createUserWithEmailAndPassword(item.login, item.pass)
.then((res) => {
delete item.pass;
docRef = colRef.doc(res.user.uid);
docRef.set({
name:item.name,
login:item.login,
info:item.info
});
return resolve();
})
.catch(error => {
return reject(error);
});
} else {
return resolve();
}
它们限制了数据的使用。 https://firebase.google.com/docs/firestore/query-data/order-limit-data 和 https://firebase.google.com/docs/firestore/query-data/query-cursors