未处理的承诺拒绝错误:“请求失败,状态码为400”

时间:2018-12-09 23:37:00

标签: mongodb http mongoose axios

我现在很困惑。我不明白为什么会收到此错误。造成此问题的原因主要是bidder变量。当它是数字时,没有问题。但是,一旦我将其设置为字符串,它就会引发400错误。这是我的收藏模式。

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

var TransactionSchema = new Schema({
  saleNumber: Number,
  bidder: String,
  purchaseAmount: Number,
  purchaseType: String
},{
    collection: 'Transaction'
});

var Transaction = mongoose.model('Transaction', TransactionSchema);
module.exports = Transaction;

在此功能中,我试图将文档添加到收藏夹中。

async addNewTransaction() {
  let newTransaction = {
    saleNumber: this.saleNumber,
    bidder: this.bidder,
    purchaseAmount: this.purchaseAmount,
    purchaseType: this.purchaseType
  }
  let uri = `http://${process.env.HOST_NAME}:8081/transaction/add`
  await this.axios.post(uri, newTransaction).then((response) => {
    console.log(response)
  })
},

这是我添加新文档的途径:

// Add a transaction
transactionRoutes.route('/add').post(function (req, res) {
  var transaction = new Transaction(req.body)
  if (transaction.saleNumber && transaction.bidder) {
    transaction.save()
    .then(transaction => {
      res.status(200).json({'transaction': 'transaction added successfully'})
    })
    .catch(err => {
      res.status(400).send("unable to save to database")
    })
  }
})

更新 删除整个收藏并开始一个新收藏,解决了我的问题!

0 个答案:

没有答案