AngularJS无法从mongodb

时间:2016-10-19 23:14:17

标签: angularjs node.js mongodb express

我正在研究MEAN堆栈应用程序,课程管理器,它可以添加,删除,编辑和保存类。我遇到了编辑功能部分的问题。当我调用updateCourse()函数时,chrome显示此错误: angular.js:7772 PUT http://localhost:3000/courses/5807a8a8542607e01aaf1eb5 404(未找到)我可以在我的MongoDB中找到此ID:5807a8a8542607e01aaf1eb5,

{
    "_id" : ObjectId("5807a8a8542607e01aaf1eb5"),
    "courseName" : "web development",
    "courseID" : "cs 602",
    "created_at" : ISODate("2016-10-19T17:08:56.226Z"),
    "__v" : 0
}

但角度无法得到它。 我认为我的node.js部分和数据库部分工作正常,因为我使用PUT方式的高级REST测试http://localhost:3000/api/courses,它给我200:好的。然而,角度部分,我不知道发生了什么。如果有人可以提供帮助,那么非常感谢你们。这是我的代码: 角度部分:

$scope.updateCourse= function (course) {
       $http.put('/courses' + course._id,{courseID: course.updatedCourseId,
       courseName:course.updatedCourseName}).success(function(response){
           $scope.courses = courseService.query();
           course.isEditing = false;
       });

Node.js Part:

router.put('/courses/:id',function (req,res) {
    var id = req.params.id;
    console.log(req.body);
    Course.update({_id:mongoose.Types.ObjectId(id)},{
        $set:{courseID: req.body.courseID,
              courseName: req.body.courseName}
    },function (err) {
        if (err) {console.log(err);}
        res.send("Updated");
    })
});

MongoDB部分:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var courseSchema = new mongoose.Schema({
    courseID: String,
    courseName: String,
    isEditing: Boolean,
    created_at: {type: Date, default: Date.now}
});
mongoose.model('Course', courseSchema);

0 个答案:

没有答案