资源AngularJS MongoDB端点

时间:2016-04-12 17:29:44

标签: javascript angularjs node.js mongodb

我目前正在制作一个小型的聚会应用程序,其中包含您存储聚会的教程以及在聚会期间正在谈话的人:

对于Angular:

app.controller('meetupsController', ['$scope', '$resource', function($scope, $resource) { 
    var Meetup = $resource('/api/meetups');

    $scope.meetupName = "";

    $scope.createMeetup = function() {
        if ($scope.meetupName !== "") {
            var meetup = new Meetup();
            meetup.name = $scope.meetupName;
            meetup.$save();
            $scope.meetupName = "";
            $scope.meetupsCount++;
        }
    };
}]);

所以当用户点击添加时,会运行函数createMeetup并在那里创建var Meetup = $resource('/api/meetups');资源的新实例。我无法理解的部分是当我调用meetup.$save()时,运行与var Meetup = $resource('/api/meetups');中提供的端点相对应的服务器端的代码?所以它会运行这段代码吗?:

var connection =  mongoose.createConnection('mongodb://localhost:27017/meetup');

server.post('/api/meetups', function(req, res) {
    var meetupDocument = connection.model('meetup', meetupSchema);
        meetupDocument.create(req.body, function(err, instance) {
        if (err) {
            console.log(err);
        }else {
            console.log(instance);
        }
    });
});

如果是这种情况,由于某种原因,它不会保存到MongoDB上的meetup集合中。在post回调内部正在打印出正在创建的每个meetup对象,因此它被发布到该端点而没有任何错误,我console.log(instance)但是当我{{1}时我没有看到MongoDB meetup集合上的记录}}。任何帮助将不胜感激。

此外,meetup是我在db.meetup.find()中提供的数据库名称,meetup也是此行var connection = mongoose.createConnection('mongodb://localhost:27017/meetup');中的收藏名称。

0 个答案:

没有答案