Что такое: «Элемент простирается за конец объекта»? Как я могу это исправить? - PullRequest
0 голосов
/ 28 февраля 2011

Я получаю сообщение об ошибке: «Элемент выходит за конец объекта» на этом маршруте.Я гуглил это, но ничего не нашел.Кто-нибудь знает, как я могу это исправить и в чем конкретно проблема?

Спасибо!

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.findById(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'); 
      }
  });

});

1 Ответ

2 голосов
/ 28 февраля 2011

Возможно, вы просто используете неправильный метод, 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'); 
      }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...