I am trying to delete records based on ID. I send the identifier via get get and accessing from req.params.id. My code is not working. What am I doing wrong?
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);
});
});
I understand that I need to add "ObjectId" before req.params.id. However, concatenation does not work. I still have it. Is there another way:
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) {
if (err) return err;
console.log(docs);
res.send(docs);
});
});
This worked:
//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) {
if (err) return err;
console.log(docs);
res.send(docs);
});
});
user2916134
source
share