我实现了一个列出所有角色为“用户”的用户的功能。该函数返回所有用户,但是,我希望将uid附加到用户上,以便在客户端上进行静态路由。
exports.listUsers = functions.https.onRequest(async (request, response) => {
response.set('Access-Control-Allow-Origin', '*');
const snapshot = await admin.firestore().collection('users').where('role', '==', 'users').get();
const users = snapshot.docs.map(doc => doc.data());
response.send(JSON.stringify(users));
});
如何将uid附加到用户对象上?
答案 0 :(得分:0)
我有根据的猜测是,您将UID用作文档ID。由于文档ID不是document.data()
的一部分,因此不会与您当前的代码一起返回。
解决方法是显式添加ID:
const users = snapshot.docs.map(doc => { id: doc.id, data: doc.data() });
如果您的文档没有id
字段,您还可以将ID与这些字段合并,如下所示:
const users = snapshot.docs.map(doc => { id: doc.id, ...doc.data() });