Получение ошибки при увеличении почтового запроса на реагировать Mongo DB - PullRequest
1 голос
/ 07 октября 2019

, пожалуйста, помогите мне решить следующую проблему. Когда я пытаюсь добавить пользователя в базу данных, он показывает ошибку "Error:MongoError: E11000 duplicate key error collection: test.users index: username_1 dup key: { : null }"

ниже - это запрос на публикацию, который я запросил.

{
    "name":"dddd",
    "email":"thomaslss",
    "password":"ssss",
    "mobilenumber":"ssss"
}

ниже - схема пользователя для mongo db

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const userSchema = new Schema ({
    name:{
        type: String,
        required:true,
        unique:true,
        trim:true,
        minlength:3
    },
    email:{
        type: String,
        required:true,
        unique:true,
        minlength:3
    },
    password:{
        type: String,
        required:true,
        minlength:3
    },
    mobilenumber:{
        type:Number,
        required:true,
        minlength:3
    },

},{
    timestamps:true,
}

);

const User =mongoose.model ('User',userSchema);

module.exports = User;

ниже приведен метод onSumbit при отправке данных

  onSubmitHandler=(e)=>{
                    e.preventDefault();

                    const user={
                        name:this.state.name,
                        email:this.state.email,
                        password:this.state.password,
                        mobilenumber:this.state.mobilenumber
                    }
                    console.log(user);
                    axios.post('http://localhost:5000/users/add',user)
                    .then(res=>console.log(res.data));
    }

find the back end code which i wrote

const router =require ('express').Router();
let User = require('../models/user.model');


router.route('/').get((req,res)=>{
    User.find()
    .then(users=>res.json(users))
    .catch(err=> res.status(400).json('Error:'+err))
});


router.route('/add').post((req,res)=>{
    const name= req.body.name;
    const email= req.body.email;
    const password= req.body.password;    
    const mobilenumber= req.body.mobilenumber;    


    const newUser = new User({name,email,password,mobilenumber});

    newUser.save()
    .then(()=>res.json("user added"))
    .catch(err=> res.status(400).json('Error:'+err))
});

module.exports = router;

Примечание: я проверил в базе данных mongo db, но не было дублированных значений для полей

ниже приведены данные db * mongo в db

[{"_id":"5d9aaff88709f423740e8a37","name":"seee","email":"rrrt","password":"fftyg","mobilenumber":45778,"createdAt":"2019-10-07T03:24:40.642Z","updatedAt":"2019-10-07T03:24:40.642Z","__v":0}]

, пожалуйста, помогите мне решить эту проблему. Заранее спасибо:)

1 Ответ

0 голосов
/ 07 октября 2019

Возможно, это ошибка вашего бэкэнда. Ваш код реакции выглядит нормально, и если вы правильно отображаете пользовательский объект во время записи в консоль, ваши параметры должны быть отправлены правильно. Вы на 100% уверены, что ваши переменные состояния не определены до отправки запроса? Не могли бы вы поделиться своим внутренним кодом, который обрабатывает это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...