繁体   English   中英

如何使用NodeJS在Firebase中构建数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM