0

我正在尝试通过 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 执行此操作的方法。

4

1 回答 1

1

通过使用:{"_id": req.params.id}您正在查询字符串而不是 objectId。您需要ObjectId从字符串创建一个才能使用它:

var ObjectID = require('mongodb').ObjectID;
var oid = new ObjectID(req.params.id);

请注意,如果 req.params.id 中的数据无法转换为有效的 ObjectID,这将引发错误。

于 2012-04-10T19:10:06.687 回答