我现在很困惑。我不明白为什么会收到此错误。造成此问题的原因主要是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")
})
}
})
更新 删除整个收藏并开始一个新收藏,解决了我的问题!