Mak*_*ros 3 javascript node.js google-cloud-functions google-cloud-firestore
我正在努力寻找有关在我使用 Node.js 构建的函数触发器中使用从 firebase 中提取的地图的文档。每次我找到示例代码时,它都会使用我的 index.js 文件无法理解的函数。
数据库结构示例:
db.collection('users').doc('abc')
让 'abc' 保存一个名为 'uids' 的字段,该字段是一个 String、bool 的映射
我想在 Firebase 触发器函数中迭代“uids”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
}
});
Run Code Online (Sandbox Code Playgroud)
当搜索有关我的 index.js 代码的特定语法时,我是否错误地理解这是一个 Node.js 文件?我不明白为什么我要找到数十种方法来做同样的事情。似乎到处都张贴了完全随机的解决方案,但在我的文件中不起作用。
解决方案::感谢您的评论和回答以帮助解决此问题。我能够使用“Object.elemets(uids)”来投射 firebase 地图来提取键和值。
for (let [key, value] of Object.elements(uids)) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
Can you try:
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
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1705 次 |
| 最近记录: |