Возможно, вы просто используете неправильный метод, findById
выполняет поиск только по ObjectID. В вашем контексте (я не знаю, что вы отправляете в req.params.name), я не думаю, что вы должны искать по идентификатору.
Попробуйте вместо этого использовать findOne
(замените [yournamefield] на соответствующее имя поля внутри вашей модели Item):
app.get('/item/:name', function(req, res) {
// console.log("Ok, we\'re in app.get \'item/:name\', let's debug");
console.log(req.params.name); //== "something" here
Item.findOne({ [yournamefield]: req.params.name }, function(err, doc) {
debugger;
if (err){
console.log(err); // =="Element extends past end of object"
res.send(err);
}
else {
console.log(" in the app.get/item:name db.query. The item is: " + item);
// debugger;
res.render('items/view');
}
});
});