[英]How to structure my data in Firebase using NodeJS
我希望数据的结构如下:
学生-> Reg_num-> someindex(将从1开始-像唯一键一样)->课程详细信息。
但是,我编写的代码给我一个不正确的结构。 有人可以帮我解决一下。
var db = admin.database();
var ref = db.ref("Students");
var newMessageRef = ref.push();
exports.uploadFile = functions.https.onRequest((req, res) => {
cors(req, res, () => {
var uniqueID = 97888888888888;
if (req.method !== 'POST') {
return res.status(500).json({
message: 'Not allowed'
})
} else {
return newMessageRef.set({
[uniqueID]: {
course: req.body.course,
credits: req.body.credit,
lecturer : 'Prof. Lee'
}
}).then(() => {
res.status(200).json({
message: "okkkkasss"
});
...
注意: -LC-lS2HPMbZW9AdT19K
是从代码中自动添加的代码。 这是因为我使用了ref.push()
不要使用ref.push()
或ref.set()
,而应使用ref.update()
,如下所示:
const db = admin.database();
const ref = db.ref("Students");
//var newMessageRef = ref.push(); <- Don't do that
exports.uploadFile = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const uniqueID = 97888888888888; <- Student ID
const uniqueCourseKey = 0; <- uniqueCourseKey
if (req.method !== 'POST') {
return res.status(500).json({
message: 'Not allowed'
})
} else {
return ref.child(uniqueID).update({
[uniqueCourseKey]: {
course: req.body.course,
credits: req.body.credit,
lecturer : 'Prof. Lee'
}
}).then(() => {
res.status(200).json({
message: "okkkkasss"
});
....
然后您可以使用const uniqueCourseKey = 1
再次调用Cloud Function; 并且新节点将正确添加到StudentID
节点下。
更新方法的文档位于此处: https : //firebase.google.com/docs/reference/js/firebase.database.Reference#update
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.