node.js - 循环遍历集合中的文档以获取字段

标签 node.js firebase google-cloud-firestore google-cloud-functions

我在 firebase firestore 中有一个名为 users 的集合。用户集合中的每个文档都是在应用程序中注册的用户。每个文档都有一个名为 token_ids 的字段。如何循环遍历所有文档以获取 token_ids 字段中的值。我正在使用 firebase 云功能来执行此操作。这是我尝试使用但不起作用的代码片段:

const functions = require('firebase-functions');
const admin = require ('firebase-admin');
admin.initializeApp();

  //fetch all token ids of users

  const tokenReference = admin.firestore().collection("users");

  const tokenSnapshot  = await tokenReference.get();

  tokenSnapshot.forEach((doc) =>{

    console.log("Token ids are:" + doc.data().token_id);


  });

  });

最佳答案

花了我一段时间,终于找到了解决方案。这里是。这是 Dhruv Shah 给出的第一个解决方案,但略有修改:

async function fetchAllTTokenIds() {

  const tokenReference = admin.firestore().collection("users");
  
  const tokenSnapshot  = await tokenReference.get();
  const results = [];
  tokenSnapshot.forEach(doc => {

    results.push(doc.data().token_id);

  });

  const tokenIds = await Promise.all(results);

  return console.log("Here =>" +tokenIds);


}


关于node.js - 循环遍历集合中的文档以获取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62655477/

相关文章:

带有 Express : how to redirect a POST request 的 Node.js

node.js - process.stdout.write/process.stderr.write 猴子补丁适用于子进程,但不适用于父进程

node.js - 在 Express 应用程序中使用 Docpad 的渲染引擎

javascript - Angular 4 Firebase 从数据库中读取数据并显示到浏览器

ios - 在 iPhone 上接收推送通知

ios - 如何避免 firestore 中的重复文件?

node.js - 如何防止 mongo 的数组索引在更新期间发生变化?

javascript - 从 Firestore 文档中读取字段的最简单方法

Angular : Error: Uncaught (in promise): TypeError: Object(. ..) 不是函数

javascript - 写入 Firebase Cloud Firestore