如何从 firestore 中的 admin-sdk 集合中获取 uid 作为响应

How to get uid in response from admin-sdk collection in firestore

以下代码非常适合检索集合中的所有项目。但是,uid 在这里不可用,我需要它们能够与其他 userRefs 进行比较。

app.get("/api/all-users", (req, res) => {
  let arr = [], i = 0;
  db.collection('users').get()
     .then((result) => {
        result.forEach((doc) => {
          arr[i] = doc.data();
            i++
         })
        res.json(arr);
     })
     .catch((err) => {
        res.json(err);
     })
})

这个returns一个json响应:

users: [
  {name: 'Name', username: 'Username' etc ..}
]
 

但是我一直在寻找具有实际 uid 的东西。我如何通过这样的查询获取该信息?

假设您指的是 文档 ID,其中您说 uid(通常用于表示 用户 ID).

由于您只 return doc.data() 您正在删除文档 ID。如果你想 return 两者,你可以这样做:

app.get("/api/all-users", (req, res) => {
  let arr = [], i = 0;
  db.collection('users').get()
     .then((result) => {
        result.forEach((doc) => {
          arr[i] = { ...doc.data(), id: doc.id };
          i++
         })
        res.json(arr);
     })
     .catch((err) => {
        res.json(err);
     })
})

或相同的更简单版本:

db.collection('users').get()
   .then((result) => {
      res.json(result.docs.map(doc => { 
        return { ...doc.data(), id: doc.id }
      });
   })