我是 node 和 mongo db 的新手。我在每一行都有一个带有删除链接的用户列表。我正在尝试使用它的_id删除一个用户。但是它不起作用。这是我的路由器代码。
router.get('/delete/:id', function (req,res) {
const ObjectId = require('mongodb').ObjectID;
var id = req.params.id;
console.log(id);
db.collection('users').deleteOne({ _id: ObjectId(req.params.id) }, function(err, res) {
if (err) {
throw err;
} else {
return res.redirect('/');
}
});
});
这是我的观点,单击此链接后,我的 url 中的 _id 如下所示:http://localhost:3000/delete/4428439e14e3343ba4ac31c1
<td><a href="/delete/ <%= userdetails._id %>">Delete</a></td>
console.log(id) 给我 4428439e14e3343ba4ac31c1
但这给我带来了以下错误
错误:传入的参数必须是 12 个字节的单个字符串或新 ObjectID 处的 24 个十六进制字符的字符串