Наткнулся на такую проблему с работой nodejs и mongo.
Делаю такую crm систему, где можно редактировать и удалять записи.
С редактированием все отлчино, а вот с записями которые должны быть удалены - не работает.
Выдает ошибку типу: "CastError: Cast to ObjectId failed for value "5dd050dd54b4a11fe4e2724adelete" at path "_id" for model "Post""
На разных ресурсах читал что желательно установить меньше версию mongo&&mongoose на 2.7.2 и на 4.7.2(не важно), пробовал но ничего не получалось, мне npm выдавал ошибку и подсказывал команду npm audit/+fix, которые обновляли mongodb || mongoose.
Даже если оставлять mongoose на версии 4 - терминал пишет что одна из функции то ли remove/delete застарелая, и надо использовать deleteOne || removeOne.
Код модели:
const mongoose = require('mongoose')
const Schema = mongoose.Schema;
const PostSchema = new Schema({
title: {
type: String,
required: true
},
status: {
type: String,
default: 'public'
},
allowComments: {
type: String,
required: true
},
body: {
type: String,
require: true
},
})
module.exports = mongoose.model('Post', PostSchema)
Код роута:
router.delete('/:id', (request, response) => {
Post.remove({ _id: request.params.id}).then(result => {
response.redirect('/admin/posts')
})
})
Надеюсь на Вашу подсказку)