Angularjs 将对象传入ngResource.save()的正确语法是什么?

Angularjs 将对象传入ngResource.save()的正确语法是什么?,angularjs,mongodb,express,ngresource,Angularjs,Mongodb,Express,Ngresource,我正在尝试将项目对象传递到我的$resource函数中,该函数将项目保存到我的数据库中。但是,当我发送$resource.save(项目)时,它返回一个错误代码500内部服务器错误。项目验证失败。 这是一个非常标准的对象: var item = { "title": "Item Title", "desc": "Item Description" } 我的客户端控制器: App.controller('appCtrl', function($scope, $resource){

我正在尝试将
项目
对象传递到我的
$resource
函数中,该函数将项目保存到我的数据库中。但是,当我发送$resource.save(项目)时,它返回一个
错误代码500内部服务器错误。项目验证失败。

这是一个非常标准的对象:

var item = {
   "title": "Item Title",
   "desc": "Item Description"
}
我的客户端控制器:

App.controller('appCtrl', function($scope, $resource){
    $scope.resourceUrl = $resource('http://localhost:3000/items');
        $scope.postItem = function(item){
             $scope.resourceUrl.save(item).$promise                 // Should item be passed in like this?
             .then(function(data){ //success function
                console.log('Posted item called ' + item.title);
             },function(error){ //error function
                console.log(error);
             });
        };
};
我的服务器端路由:

router.post('/items', function(req, res, next){
        var item = new Item(req.body);

        item.save(function(err, item){
            if(err){return next(err)}
            res.json(item);
        });
    });

当我在没有
项目的情况下尝试
$scope.resourceUrl.save().$promise
时,它将发布一个
项目,但没有数据。传递my
item
对象的正确语法是什么?

$resource
为您的示例提供了一整套方法,这些方法都是多余的。只需将
$http
用作
$http.post('/someUrl',item,config.),然后(successCallback,errorCallback),请参阅。即使使用
$http.post('/someUrl',data,config)。然后(successCallback,errorCallback)
给出了相同的错误。请尝试
$scope.resourceUrl.save({},item)
@Chandermani,这也导致了相同的错误