1

Тема: Не видаляється документ з колекції в MongoDB

Вибиває ось цю помилку, але забирати required з схеми не варіант.

UnhandledPromiseRejectionWarning: ValidationError: ideas validation failed: title: Path `title` is required., details: Path `details` is required.
    at new ValidationError (C:\Users\I am\Desktop\Node\node_modules\mongoose\lib\error\validation.js:27:11)
    at model.Document.invalidate (C:\Users\I am\Desktop\Node\node_modules\mongoose\lib\document.js:1832:32)
    at p.doValidate.skipSchemaValidators (C:\Users\I am\Desktop\Node\node_modules\mongoose\lib\document.js:1700:17)
    at C:\Users\I am\Desktop\Node\node_modules\mongoose\lib\schematype.js:808:9
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Приклад запиту

app.delete("/ideas/:id",(req,res)=>{
  Idea.remove({ _id:req.params.id })
  .then(()=>{
    res.redirect('/ideas');
  })
});

Mongoose:

const mongoose=require("mongoose");

const IdeaSchema= mongoose.Schema({
  title:{
    type:String,
    required:true
  },
  details:{
    type:String,
    required:true
  },
  date:{
    type: Date,
    defaut:Date.now
  }
});

mongoose.model('ideas',IdeaSchema);

Ось html

<form action="/ideas/{{_id}}?_method=PUT" method="post">
        <input type="hidden" name="_method" value="PUT">
        <input type="submit" value="Delete" class="btn btn-danger btn-block">
    </form>

2

Re: Не видаляється документ з колекції в MongoDB

мені здається, що remove() повинно викликатись на екземплярі моделі, типу так

product.remove(function (err, product) {
  product.isDeleted(); // true
  product.remove(); // no-op, doesn't send anything to the db

  product.isDeleted(false);
  product.isDeleted(); // false
  product.remove(); // will execute a remove against the db
})

а зі статичних методів є отаке

Character.deleteOne({ name: 'Eddard Stark' }).then(next)

і таке

A.findOneAndDelete(conditions, callback)

і таке

A.findOneAndRemove(conditions, options)
Подякували: leofun011

3 Востаннє редагувалося rihovar (22.05.2018 20:18:16)

Re: Не видаляється документ з колекції в MongoDB

Вибиває одну і ту ж помилку
Не важливо,який метод
А remove так можна на моделі викликати

4

Re: Не видаляється документ з колекції в MongoDB

Усе, я розібрався
Там просто запити не вірні були, а не думав
що html зможу помилитися)