簡體   English   中英

MongoDB:無法添加到子文檔的子文檔

[英]MongoDB: Cannot add to a Sub-document of a Sub-document

我正在嘗試使用貓鼬將問題添加到問題數組。 但是貓鼬說我正在訪問的數據是不確定的。

{"content":
    {"_id":"58c6f76e06e6edda1b000007",
     "name":"testCourse",
     "__v":0,
     "subjects": 
         [{"name":"testSubject",
           "_id":"58c6f85280a5d6591c000007",
           "questions":[]}
         ]
     }
}

這是我創建條目的方法:

module.exports.makeQuestion = function(req, res){
    var courseid = req.params.courseid;
    var subjectid = req.params.subjectid;

    console.log("cou:"+ courseid + " sub:"+ subjectid);

    Course.findById(courseid, function(err, course){
      course.subjects.questions.push({question: req.params.question,
                                      answer:req.params.answer})
      sendJSONResponse(res, 200, course);
    });
}

添加條目時出現什么錯誤?

這是因為course.subjects是一個數組。 因此,它不知道要將對象推送到哪個子文檔。 為了解決這個問題,您可以執行course.subjects.id(_id).questions.push(question) ,如果您知道子文檔對象的ID,該代碼應該可以工作。 否則,您必須遍歷數組以查找所需的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM