我编写了一个可以通过REST API访问的Firebase云功能。代码如下。
我需要做的是,当用户通过“Web服务URL”从前端提交一些值时。
1。)我需要将这些数据保存在Firebase实时数据库中。
2.)我在网上审阅了几个教程,并且不了解public abstract double izracunajZasedenost (int a = -1, int b = -1)
{
if (a == -1){
//do method with ignoring a
}
};
在以下代码中的作用。
CREATE TRIGGER abonnes_nw_updcommunes
AFTER INSERT
ON abonnes
BEGIN
UPDATE communes SET
"nbabonnescom" =
(
SELECT SUM(abonnes.nbabonnes)
FROM abonnes JOIN communes ON
( within(abonnes.GEOMETRY, (SELECT communes.GEOMETRY FROM communes, abonnes WHERE ST_Contains(communes.GEOMETRY, NEW.GEOMETRY))))
)
WHERE within(NEW.GEOMETRY, communes.GEOMETRY);
END;
答案 0 :(得分:2)
您的代码会在server
节点(位置)下将数据写入数据库。数据库中的结果如下(从Firebase控制台导出):
"server" : {
"saving-data" : {
"fireblog" : {
"users" : {
"alanisawesome" : {
"date_of_birth" : "June 23, 1912",
"full_name" : "Alan Turing"
},
"gracehop" : {
"date_of_birth" : "December 9, 1906",
"full_name" : "Grace Hopper"
}
}
}
}
}
所以,基本上,对问题#1的回答是:"它被保存"。
问题#2:值db.ref("server/saving-data/fireblog")
是Reference
的一个实例,其中"表示数据库中的特定位置,可用于读取或写入该数据库位置的数据&# 34;,见https://firebase.google.com/docs/reference/js/firebase.database.Reference
var usersRef = ref.child("users");
也是您通过child()
方法获得的参考,请参阅https://firebase.google.com/docs/reference/js/firebase.database.Reference#child
因此,通过组合初始引用和child()
方法,当您执行usersRef.set({})
时,您将写入以下路径:server/saving-data/fireblog/users
。以上是数据库导出中反映的内容。
请注意,使用当前代码,您将始终在该位置写入相同的数据,即以下对象:
{
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
}
同样,这在上面的数据库导出中反映出来。
使用通过HTTPS调用的云功能,您可以在HTTP请求的主体中经典地获取要写入数据库的数据。
最后一点:我会按照以下方式重新组织您的功能:
const db = admin.database();
const ref = db1.ref("server/saving-data/fireblog");
exports.uploadFile = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const usersRef = ref.child("users");
if (req.method !== 'POST') {
return res.status(500).json({
message: 'Not allowed'
})
} else {
return usersRef.set({
alanisawesome: {
date_of_birth: "June 23, 1912",
full_name: "Alan Turing"
},
gracehop: {
date_of_birth: "December 9, 1906",
full_name: "Grace Hopper"
}
}).then(() => {
res.status(200).json({
message: req.body
});
}).catch(error => {
return res.status(500).send(error);
})
}
})
});
最后,我建议你看看来自Firebase团队的视频:https://www.youtube.com/watch?v=7IkUgCLr5oA