我目前正在制作一个小型的聚会应用程序,其中包含您存储聚会的教程以及在聚会期间正在谈话的人:
对于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');
中的收藏名称。