所以我试图编写http触发器函数,它会改变每个唯一键(用户id)中的特定值。我写了一些东西,但输出不是我需要的。它不是更改现有值,而是创建新的用户ID。
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
exports.picksReset = functions.https.onRequest((req, res) => {
const ref = admin.database().ref()
const usersPicked = []
ref.child('users').once('value').then(snap => {
snap.forEach(childSnap => {
ref.child('/users/{userId}').push({picksDone: "0"})
console.log("Changing value...")
})
})
res.send("Done!")
})
我的数据库图片......
答案 0 :(得分:1)
使用.push()
创建一个带有pushId的新子项。相反,请使用.update()
。请参阅文档here中的详细信息。如果您希望更改每个用户中的孩子picksDone
,可以这样做:
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)
exports.picksReset = functions.https.onRequest((req, res) => {
const ref = admin.database().ref()
const usersPicked = []
ref.child('users').once('value').then(snap => {
snap.forEach(childSnap => {
const key = childSnap.key
ref.child(`users/${key}`).update({picksDone: "0"})
console.log("Changing value...")
})
})
res.send("Done!")
})