TypeError:无法读取未定义node.js的属性“length”

时间:2017-11-29 04:11:11

标签: json node.js mongodb express

我正在尝试将多个数据插入mongoDB。数据来自JSON格式的另一个Web服务。我收集数据并存储在我的数据库中。但是,当我尝试迭代收集的项目时,我会在问题中提到类型错误。

// Add purchase details to DB (Userid, Productid, Category)
router.post('/addpurchased', function(req, res){
    // Connect to the server
    MongoClient.connect(url, function(err, db){
      if (err) {
        console.log('Unable to connect to the Server:', err);
      } else {
        console.log('Connected to Server',url);


    // Get the documents collection
    var collection = db.collection('purchased');

    var arrProducts = req.body.products;
    var userProducts = [];

    for(var i = 0; i < arrProducts.length; i++){
      // Get the purchased details passed from the form
      var user = {userid: arrProducts[i].userid, productid: arrProducts[i].productid, category: arrProducts[i].category,
         purchasetime: new Date()};

      userProducts.push(user);
    }

    // Insert the purchase data into the database
    collection.insert(userProducts, function (err, result){
      if (err) {
        console.log(err);
      } else {
        res.send("Purchase Details Added")
      }
    });
  }
});

});

请告诉我这里缺少的东西。

我从邮递员那里传递JSOM数据,如下enter image description here

并收到如下错误消息。 enter image description here

2 个答案:

答案 0 :(得分:0)

邮递员中的JSON格式错误。 使用JSON格式的引号,因为请求要求它为字符串。

如果您要在Javascript XHR请求中使用它,则需要在向服务器发送请求之前使用JSON.stringify(object)。

network_params.append(p.data.numpy().astype(np.float64))

答案 1 :(得分:0)

感谢领导。我没有正确传递JSON数据。现在它工作正常。