Я сейчас так озадачен.Я не понимаю, почему я получаю эту ошибку.Причиной этой проблемы является в основном переменная покупателя.Когда это число, нет проблем.Но как только я установил его как строку, он выдает ошибку 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")
})
}
})
Обновление Удалил всю коллекцию и запустил новый, который решил мою проблему!