ЗДЕСЬ ДВА ОШИБКИ, КОТОРЫЕ Я ПОЛУЧАЮ.
MongooseError [CastError]: Cast to ObjectId failed for value "{item._id}" at path "_id" for model "Post"
Второй
stringValue: '"{item._id}"',
kind: 'ObjectId',
value: '{item._id}',
path: '_id',
reason: Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
Мой индекс. js
mongoose.connect("mongodb://localhost:27017/postcomment", {useUnifiedTopology: true, useNewUrlParser: true, useCreateIndex: true });
var Schema = mongoose.Schema;
var PostSchema = new Schema({
title: String,
content: String,
author: String
});
var Post = mongoose.model('Post', PostSchema);
router.delete( '/post/:id', function( req, res ){
let query = {_id:req.params.id}
Post.deleteOne(query, function(err) {
if(err){
console.log(err);
}
res.send('Success');
});
});
Мой Удалить button
<a class="delete-article" href="#" data-id="{item._id}">Delete</a>
My main. js File
$(document).ready(function() {
$('.delete-article').on('click', function(e) {
const $target = $(e.target);
const id = $target.attr('data-id');
$.ajax({
type: 'DELETE',
url: '/post/'+id,
success: function(response) {
alert('Deleting Post');
window.location.href='/';
},
error: function(err){
console.log(err);
}
});
});
[![This is a snapshot of the error message][1]][1]});
My View
<% items.forEach(item => { %>
<ul>
<h1><%=item.title%></h1>
<li><%= item.content %></li>
<li><%= item.author %></li>
<a class="delete-article" href="#" data-id="{item.id}">Delete</a>
</ul>
<% });%>
<li><a href="/newpost">Add New Post</a></li>
Я новичок в Node и Javascript и я Я пытаюсь построить что-то как способ обучения. но я столкнулся с ошибкой, которая заставляла меня пытаться часами безуспешно. пожалуйста, мне нужна помощь, чтобы исправить эту ошибку.
Я пытаюсь сохранить ее CRUD
, поэтому я использую delete
, чтобы удалить сообщение из базы данных. Ошибки, которые я получаю, относятся к укусу ObjectId
и passing a single string of 12
, я пробовал, но не удалось. пожалуйста, я буду признателен за любую помощь, чтобы исправить это, а также объяснение, чтобы помочь мне понять это.
Спасибо, ребята