我正在尝试通过node.js和mongodb-wrapper从我的mongodb中选择/删除条目。 我通过http请求将条目的id作为字符串获取。 然后我想删除具有特定ID的条目。
app.delete('/posts/:id', function(req, res) {
res.header("Access-Control-Allow-Origin", "*");
db.posts.remove({"_id": req.params.id}, function(err) {
if (err) return res.send(err.message, 500); // server error
res.send(200);
})
res.send("ok");
});
但这不起作用。我已经尝试了几种方法,但没有删除条目。我有红色的东西,我必须将字符串转换为ObjectId,但直到现在我还没有找到任何通过mongodb-wrapper的方法。
答案 0 :(得分:1)
使用:{"_id": req.params.id}
您正在查询字符串而不是objectId。您需要从字符串中创建ObjectId
才能使用它:
var ObjectID = require('mongodb').ObjectID;
var oid = new ObjectID(req.params.id);
请注意,如果req.params.id中的数据无法转换为有效的ObjectID,则会抛出错误。