已解决,问题出在 PUT 请求上,我必须正确指定标头,然后一次处理一个。
curl -X PUT -H "Accept: application/json" -d "prenom=Maxwell" localhost:3000/contact/51df5cec5e88a2bbce7fac05
我正在尝试通过我目前正在处理的 node.js 应用程序中的咖啡脚本修改 mongodb 文档,当我尝试时:
curl -X PUT -d '{"nom": "House", "prenom": "Maxwell"}' localhost:3000/contact/51ddb907ae3267d6154a3e64
在这
{
"_id": "51ddb907ae3267d6154a3e64",
"archive": 1,
"nom": "Bir",
"prenom": "Sim"
}
ID 和路线是正确的,所以我很确定错误在于 javascript 逻辑,但我似乎无法掌握正确的工作角度。这是有缺陷的代码:
exports.modifyContact = (req, res) ->
db.collection "data-center", (erreur, collection) ->
collection.update { _id: new mongo.BSONPure.ObjectID(req.params.id) }, { $set: req.body } , (erreur, resultat) ->
res.send resultat
res.end()
结果是
{
"_id" : ObjectId("51df4ad424f6d9207cc3e2d5"),
"nom" : "Bir",
"nom": "House",
"prenom": "Maxwell" : "",
"prenom" : "Sim"
}
我似乎找不到一种有效的方法来设置缺失值并修改已经存在的值。怎么了 ?