更改所有唯一键中的特定值
Change certain value in all unique keys
所以我正在尝试编写 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!")
})
我的数据库的图像...
使用 .push()
创建一个带有 pushId 的新 child。相反,使用 .update()
。请参阅文档 here 中的详细信息。如果您想更改每个用户的 child 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!")
})
所以我正在尝试编写 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!")
})
我的数据库的图像...
使用 .push()
创建一个带有 pushId 的新 child。相反,使用 .update()
。请参阅文档 here 中的详细信息。如果您想更改每个用户的 child 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!")
})