IDに基づいてレコードを削除しようとしています。get動詞を介してIDを送信し、req.params.idからアクセスしています。コードが機能しません。私は何を間違っていますか?
//delete user
router.get('/deleteuser/:id', function(req, res){
var db = req.db;
db.users.remove({'_id':req.params.id}, function(err, docs) {
if (err) return err;
res.send(docs); // see results
});
});
req.params.id の前に「ObjectId」を追加する必要があることに気付きました。ただし、連結は機能しません。私はこれまでのところこれを持っています。別の方法はありますか:
//delete user
router.get('/deleteuser/:id', function(req, res){
var db = req.db;
var objId = 'ObjectId("' + req.params.id + '")';
console.log(objId);
db.users.remove({"_id": objId}, function(err, docs) {
//db.users.remove({"_id": ObjectId("4d512b45cc9374271b02ec4f")}); works in mongo console
if (err) return err;
console.log(docs);
res.send(docs);
});
});
これはうまくいきました:
// db.ObjectId(req.params.id)
router.get('/deleteuser/:id', function(req, res){
var db = req.db;
db.users.remove({"_id": db.ObjectId(req.params.id)}, function(err, docs) { //db.users.remove({"_id": ObjectId("4d512b45cc9374271b02ec4f")});
if (err) return err;
console.log(docs);
res.send(docs);
});
});