最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

不确定mongoexpress为什么只创建ID而不保存任何其他数据

IT培训 admin 4浏览 0评论

不确定mongo / express为什么只创建ID而不保存任何其他数据

我是Express / Node / Mongo的新手,并尝试构建一个资产数据库应用程序来存储固定资产。

我正在尝试通过Web表单保存固定资产数据,但由于某种原因只创建了ID,并且表单中的实际数据未保存。

我查看了我的mongo容器中的数据,只能看到我创建的每个资产的ID

这是我的路线......

/* POST create fixed-assets page. */
router.post('/financial/assets/create-fixed-asset', secured(), function(req, res, next) {

  var assetData = {
    model_number: req.body.model_number,
    manufacturer: req.body.manufacturer,
    description: req.body.description,
    serial_number: req.body.serial_number,
    asset_tag_number: req.body.asset_tag_number,
    condition_when_purchased: req.body.condition_when_purchased,
    price_paid: req.body.price_paid
  };
  FixedAsset.create(assetData, function (error, asset) {
    if (error) {
      return next(error);
    } else {
      res.redirect('/financial/assets/fixed-assets');
    }
  });

});

这是我的列表视图......(使用Pug / Jade)

block view
  .animated.fadeIn
    h1 Fixed Assets

    a(href='create-fixed-asset/') Create
    br
    br
    table#example.display
      thead
        tr
          th ID
          th Model
          th Description
      tbody
        each asset in assets
          tr
            td #{asset.id}
            td #{asset.model_number}
            td #{asset.manufacturer}

这是我的猫鼬模型......

var mongoose = require('mongoose');
var FixedAssetSchema = new mongoose.Schema({
  model_number: {
    type: String
  },
  manufacturer: {
    type: String
  },
  description: {
    type: String
  },
  serial_number: {
    type: String
  },
  asset_tag_number: {
    type: Number
  },
  condition_when_purchased: {
    type: String
  },
  price_paid: {
    type: Number
  }
});

var FixedAsset = mongoose.model('FixedAsset', FixedAssetSchema);
module.exports = FixedAsset;

有谁知道为什么会这样?谢谢

编辑:我也忘了把我的帕格形式的代码。这里是...

extends /default

block scripts
  if !starter
    // Plugins and scripts required by this view
    script(src='/js/main.js')


block view
  .animated.fadeIn
    .container.row
      .col-md-6
        h1 #{title}
    .container.row
      .col-md-6
        form(method='POST' action='/financial/assets/create-fixed-asset')
          div.form-group
            input#model_number.form-control(type='text', placeholder='Model Number')
          div.form-group
            input#manufacturer.form-control(type='text', placeholder='Manufacturer')
          div.form-group
            input#serial_number.form-control(type='text', placeholder='Serial Number')
          div.form-group
            input#description.form-control(type='text', placeholder='Description')
          div.form-group
            input#asset_tag_number.form-control(type='text', placeholder='Asset Tag Number')
          div.form-group
            input#condition_when_purchased.form-control(type='text', placeholder='Condition When Purchased')
          div.form-group
            input#price_paid.form-control(type='text', placeholder='Price Paid')
          br
          button.btn.btn-success(type='submit') Create
回答如下:

我的建议是使用异步路由并等待创建固定资产:

router.post('/financial/assets/create-fixed-asset', secured(),async function(req, res, next) {
  try{
    var assetData = {
      model_number: req.body.model_number,
      manufacturer: req.body.manufacturer,
      description: req.body.description,
      serial_number: req.body.serial_number,
      asset_tag_number: req.body.asset_tag_number,
      condition_when_purchased: req.body.condition_when_purchased,
      price_paid: req.body.price_paid
    };
    await FixedAsset.create(assetData, function (error, asset) {
      if (error) {
        return next(error);
      } else {
        res.redirect('/financial/assets/fixed-assets');
      }
    });
  }
  catch(err){
    res.redirect('/somewhere else/ a 404 page')
  }
});

不确定mongo / express为什么只创建ID而不保存任何其他数据

我是Express / Node / Mongo的新手,并尝试构建一个资产数据库应用程序来存储固定资产。

我正在尝试通过Web表单保存固定资产数据,但由于某种原因只创建了ID,并且表单中的实际数据未保存。

我查看了我的mongo容器中的数据,只能看到我创建的每个资产的ID

这是我的路线......

/* POST create fixed-assets page. */
router.post('/financial/assets/create-fixed-asset', secured(), function(req, res, next) {

  var assetData = {
    model_number: req.body.model_number,
    manufacturer: req.body.manufacturer,
    description: req.body.description,
    serial_number: req.body.serial_number,
    asset_tag_number: req.body.asset_tag_number,
    condition_when_purchased: req.body.condition_when_purchased,
    price_paid: req.body.price_paid
  };
  FixedAsset.create(assetData, function (error, asset) {
    if (error) {
      return next(error);
    } else {
      res.redirect('/financial/assets/fixed-assets');
    }
  });

});

这是我的列表视图......(使用Pug / Jade)

block view
  .animated.fadeIn
    h1 Fixed Assets

    a(href='create-fixed-asset/') Create
    br
    br
    table#example.display
      thead
        tr
          th ID
          th Model
          th Description
      tbody
        each asset in assets
          tr
            td #{asset.id}
            td #{asset.model_number}
            td #{asset.manufacturer}

这是我的猫鼬模型......

var mongoose = require('mongoose');
var FixedAssetSchema = new mongoose.Schema({
  model_number: {
    type: String
  },
  manufacturer: {
    type: String
  },
  description: {
    type: String
  },
  serial_number: {
    type: String
  },
  asset_tag_number: {
    type: Number
  },
  condition_when_purchased: {
    type: String
  },
  price_paid: {
    type: Number
  }
});

var FixedAsset = mongoose.model('FixedAsset', FixedAssetSchema);
module.exports = FixedAsset;

有谁知道为什么会这样?谢谢

编辑:我也忘了把我的帕格形式的代码。这里是...

extends /default

block scripts
  if !starter
    // Plugins and scripts required by this view
    script(src='/js/main.js')


block view
  .animated.fadeIn
    .container.row
      .col-md-6
        h1 #{title}
    .container.row
      .col-md-6
        form(method='POST' action='/financial/assets/create-fixed-asset')
          div.form-group
            input#model_number.form-control(type='text', placeholder='Model Number')
          div.form-group
            input#manufacturer.form-control(type='text', placeholder='Manufacturer')
          div.form-group
            input#serial_number.form-control(type='text', placeholder='Serial Number')
          div.form-group
            input#description.form-control(type='text', placeholder='Description')
          div.form-group
            input#asset_tag_number.form-control(type='text', placeholder='Asset Tag Number')
          div.form-group
            input#condition_when_purchased.form-control(type='text', placeholder='Condition When Purchased')
          div.form-group
            input#price_paid.form-control(type='text', placeholder='Price Paid')
          br
          button.btn.btn-success(type='submit') Create
回答如下:

我的建议是使用异步路由并等待创建固定资产:

router.post('/financial/assets/create-fixed-asset', secured(),async function(req, res, next) {
  try{
    var assetData = {
      model_number: req.body.model_number,
      manufacturer: req.body.manufacturer,
      description: req.body.description,
      serial_number: req.body.serial_number,
      asset_tag_number: req.body.asset_tag_number,
      condition_when_purchased: req.body.condition_when_purchased,
      price_paid: req.body.price_paid
    };
    await FixedAsset.create(assetData, function (error, asset) {
      if (error) {
        return next(error);
      } else {
        res.redirect('/financial/assets/fixed-assets');
      }
    });
  }
  catch(err){
    res.redirect('/somewhere else/ a 404 page')
  }
});
发布评论

评论列表 (0)

  1. 暂无评论