将数据推送到猫鼬的数组模型中

Pushing data into an array model in mongoose

本文关键字:数组 模型 数据      更新时间:2023-09-26

好吧,我有一个概念问题和一个真正的错误......我正在研究一个库存模块概念,很简单,它由两个模型组成:

  • 库存
  • 项目

库存模型只包含一个"项目"字段,该字段只是对实际项目对象模型的引用(填充),你知道items: [type: String, ref: 'Item']

Item 对象是真正的数据容器,它包含所有数据(名称、项目代码、描述、可描述性、存在性......等等)。这个概念中的问题让我感到困惑。

创建项目时,需要将其推送到库存模型文档的数组"items"中,我对此代码段进行了编码,但它检索到了一个错误:

var inventario = new Inventario(); //The inventory document instance
var inventarios = router.route('/inventarios');
inventarios.post(function(req, res) {
// itamdata object
var nuevoItem = {
    _id: req.body._id,
    descripcion: req.body.descripcion,
    costo: req.body.costo,
    precioMin: req.body.precioMin,
    precioMax: req.body.precioMax,
    existencia: req.body.existencia,
    disponible:req.body.disponible
  };
  // Create a new item
  Item.Create(nuevoItem, function(err, item) {
    if(err) {
      res.status(500).json({
        msg: 'Problema interno con la base de datos',
        error: err
      });
    }
    // call push from push method of documents array
    inventario.items.push({ _id: nuevoItem._id });
    res.status(200).json({msg: 'Item Creado', token: item});
  }); // fin Item.Create
}); //fin inventarios.post

错误是:/home/nano/Dev/JS/OMI/node_modules/express/lib/router/index.js:482 this.stack.push(layer); ^ TypeError: Cannot call method 'push' of undefined

的概念真的很简单,我测试了模型的需求和导出,一切看起来都很好,所以,有人有一些想法来解决问题吗?

错误:

发送标头后无法设置标头。

当您在架构和 api 文件中发送字段名称错误或 HTML 页面中的字段名称不正确时,会出现错误req.body参数名称。
另一种方法可以尝试使用:

app.use(bodyParser.json({limit: '5mb'})); 

在您的服务器.js文件中。