Firebase函数。Node.js: 迭代存储在firebase文档字段中的地图。

我正在努力寻找关于在我使用Node.js构建的函数触发器中使用从firebase中提取的地图的文档。每次我找到示例代码,它使用的函数都是我的index.js文件所不理解的。

示例db结构:db.collection(‘users’).doc(‘abc’)让’abc’持有一个名为’uids’的字段,它是一个String、bool的Map。

我想在Firebase触发函数中迭代’ids’map,更新所有值为 “false “的元素。

我想不出在我的index.js中使用地图做任何操作逻辑的合适方法。

这是我试过的,在网上找到的两个比较连贯的片段。

db.collection('users').doc('abc').get().then((doc) => {
  var uids = doc.data().uids;

//try 1
  uids.forEach((value, key, map) => {
    //do stuff
  });

//try 2
  for (var uid in uids) {
    if (uid.val() == false)
      //do stuff
  }
});

当我搜索index.js代码的具体语法时 我是否错误地理解了这是一个Node.js文件?我不明白为什么我发现有几十种方法可以做同样的事情。似乎完全随机的解决方法到处发,在我的文件里都不能用。

解决方案::感谢你的评论和回答,以帮助解决这个问题.我能够使用 “Object.elemets(uids) “来投掷firebase地图,以extce键和值。

for (let [key, value] of Object.elements(uids)) {
  //do stuff
}

解决方案:

你可以试试。

db.collection('users').doc('abc').get().then((doc) => {
  var uids = doc.data().uids;
  for (var uid of Object.keys(uids)) {
    console.log(uid, uids[uid]); // key, value
  }
});

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在swift[复制]中打印一个没有括号和逗号的洗牌数组?

2022-9-13 15:57:39

未分类

AWS Elastic Beanstalk部署持续时间是否取决于实例类型?

2022-9-13 16:08:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索