gpt4 book ai didi

javascript - firebase云使用 "key"参数写入数据

转载 作者:行者123 更新时间:2023-12-03 04:25:00 24 4
gpt4 key购买 nike

我正在学习 Firebase 的 Cloud Functions。我想要的是在 URL 参数中传递键和值,例如:

https://xxx.cloudfunctions.net/addMessageSet?text=goodboy&key=testKey

然后在实时数据库中设置一个testKey:goodboy

我知道使用 push() 将生成一个唯一的 key (如果我理解正确的话),但我想每次都使用自己的 key 。我不确定 set() 是否有效。

我的问题是 push({originalKey:original}) 无法按预期工作。文中写道:

originalKey: goodboy

其中 originalKey 只是键,而不是 URL 中的参数。这是可能的还是有其他解决方案?

代码如下:

exports.addMessageSet = functions.https.onRequest((req, res) => {
// Grab the text parameter.
const original = req.query.text;
const originalKey = req.query.key;
admin.database().ref('/messages/').push({originalKey:original}).then(snapshot => {
console.log('goodboy', original, originalKey);
res.redirect(303, snapshot.ref);
});
});

最佳答案

如果您想使用正在生成的 key 而不需要 Firebase 生成另一个 key ,则需要在路径中使用带有 key 的 set

admin.database().ref('/messages/' + originalKey).set(original).then(snapshot => { });
// if originalKey is not a string use String(originalKey)

你说 originalKey 不是一个 url,而是 firebase 中的所有内容(如果基于 url),就像你正在做的那样

myDB
|_ messages
|_ originalKey: original

而不是

myDB > messages > originalKey > original

如果您在 messages 节点之后需要另一个键,我建议使用日期 UNIX 数字,momentJS 可以很好地处理这个问题。

希望对你有帮助

关于javascript - firebase云使用 "key"参数写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com