【问题标题】:What is : "Element extends past end of object" ? How can I fix it?什么是:“元素超出对象的末尾”?我该如何解决?
【发布时间】:2011-07-05 12:12:18
【问题描述】:

我在这条路线中收到错误消息:“元素超出对象的末尾”。我用谷歌搜索了它,但没有找到任何东西。有谁知道我该如何解决它以及究竟是什么问题?

谢谢!

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

});

【问题讨论】:

    标签: mongodb node.js mongoose


    【解决方案1】:

    也许您只是使用了错误的方法,findById 仅按 ObjectID 搜索。在您的上下文中(我真的不知道您发送的是 req.params.name),我认为您不应该按 ID 搜索。

    尝试改用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'); 
          }
      });
    });
    

    【讨论】:

      猜你喜欢
      • 2014-03-17
      • 2013-11-13
      • 2020-09-14
      • 2019-01-14
      相关资源
      最近更新 更多