我在Node.js(MongoDB collection.update)中遇到了一个简单的PUT方法的问题。任何帮助,将不胜感激。此时,我没有收到错误,只是空洞的回复。
index.js:
app.put('/UpdateValues/:collection/:entity', function(req, res) {
var params = req.params;
var entity = params.entity;
var collection = params.collection;
var value1 = req.body.value1;
var value2 = req.body.value2;
if (entity) {
collectionDriver.updateValues(collection, entity, value1, value2, function(error, objs) {
if (error) { res.status(400).send(error); }
else { res.status(200).send(objs); }
});
} else {
res.send(400, {error: 'bad url', url: req.url});
}
});
collectionDriver.js:
CollectionDriver.prototype.updateValues = function(collectionName, nameDoc, value1new, value2new, callback) {
this.getCollection(collectionName, function(error, the_collection) {
if (error) callback(error);
else {
the_collection.update(
{ name: nameDoc },
{ $set: {
value1: value1new,
value2: value2new
}},
function( err, result ) {
if ( err ) throw err;
}
);
}
});
};
测试:
$ curl -i -X PUT -H'Content-Type:application / json'-d'{“value1”:“1”,“value2”:“1”}'http://localhost/UpdateValues/collection/test