我希望如何构建数据如下:
学生 - > 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()
答案 0 :(得分:1)
请勿使用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
;并且新节点将正确添加到StudentID
节点下。
更新方法的文档位于:https://firebase.google.com/docs/reference/js/firebase.database.Reference#update