Экспресс-проблема: UnhandledPromiseRejectionWarning: TypeError: Невозможно преобразовать объект в примитивное значение - PullRequest
0 голосов
/ 22 января 2019

Я получаю эту ошибку "UnhandledPromiseRejectionWarning: TypeError: Невозможно преобразовать объект в примитивное значение" из кода ниже. Я не могу найти фактическую проблему с кодом. Когда я пытаюсь опубликовать фильм из API, я получаю эту ошибку. я использую mongodb и экспресс для создания приложения CRUD.

const joiSchema = Joi.object().keys({
    category: Joi.string().required(),
  })
const joiSchemaMovie = Joi.object().keys({
    category: Joi.string(),
    movies :[{
        movieName: Joi.string().required()
        }]  
})

const joiSchemaMovies = Joi.object().keys({
  movieName: Joi.string().required()
})
const categorySchema = new mongoose.Schema(joigoose.convert(joiSchema))

const movieSchemaMain = new mongoose.Schema(joigoose.convert(joiSchemaMovie))

var Category = mongoose.model("Genres", categorySchema);
var Movie = mongoose.model("Movie", movieSchemaMain);

function validateMovieName(movie){
    return Joi.validate( movie , joiSchemaMovies)
}

app.post('/api/category/:category',(req,res) =>{
    const result = validateMovieName(req.body);
    if(result.error){
        res.status(400).send(result.error.details[0].message);
        return ;
    }

    Category.findOne({category:req.params.category} , (err , item ) => {
        if(item !== null){   
            Movie.findOne({category : req.params.category },(err , item1) => { 
                if(item1 !== null){

                    let movieData =  new Movie();     
                   // movieData.movies = [];                    
                    movieData.movies = [(req.body)];
                    movieData.category = (req.params.category) ;
                    console.log("movieData",movieData)
                    movieData.save().then(item => {
                            res.send(item);
                        }).catch(err => 
                                res.status(400).send("unable to save to database");
                    })

                }
            })       
        }else{
            res.send("Category Not  exits...")
            return ;
        }
    });         
});

1 Ответ

0 голосов
/ 22 января 2019
const joiSchemaMovie = Joi.object().keys({
    category: Joi.string(),
    movies:Joi.array().items({
        movieName: Joi.string().required()
    })
}) 

попробуйте это

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