Node.js $ http PUT请求不向服务器返回任何内容

我正在开发一个pipe理客户信息的应用程序。 我是新来的MEAN堆栈,不能为我的生活弄清楚我在这里做错了什么。 当我从视图中单击“更新客户”时,控制台打印更新的信息,但是当我尝试将该信息发送到服务器并更新我的表时,我什么也得不到。 客户实体与以前一样。

风景

<div class="col-sm-12" id="addButton" style="padding: 10px;" > <button class="btn btn-primary" ng-click="update()" ng-disabled="editCustomerForm.$invalid">Update Customer</button> 

控制器

  $scope.update = function(){ console.log($scope.existingCustomer); $http.put('/customers/' + $scope.existingCustomer._id, $scope.existingCustomer).success(function(response) { refresh(); $scope.existingCustomer={}; $scope.editOldCustomer = false; }) }; 

server.js文件

 app.put('/customers/:id', function (req, res) { console.log(req.body); var id = req.params.id db.customers.findAndModify({ query: {_id: "mongojs.ObjectId(id)"}, update: {$set: {name: req.body.name, email: req.body.email, phone: req.body.phone, street: req.body.street, city: req.body.city, state: req.body.state, zip: req.body.zip}}, new: true}, function (err, doc) { res.json(doc); } ); }); 

我一直在用这个几小时的脑筋,只是无法弄清楚我做错了什么。 感谢您的帮助,我真的很感激。 对不起,如果一些代码的格式弄乱堆栈

你问题看起来在这里: query: {_id: "mongojs.ObjectId(id)"},你实际上没有创build一个ID,你应该做的这样的事情: var _id = mongojs.ObjectId(id); 然后像这样使用它: {query: {_id: _id},