mongodb не обновляется для угловой функции .put, ошибки не отображаются - PullRequest
0 голосов
/ 23 сентября 2018

Я не могу понять, что не так с этим кодом, на экране отображается правильный ответ, но когда я перезагружаю экран или проверяю базу данных, значения не отображаются.

EVENTS.component.html

<div align="center">
  event list for check
  <table border='1'>
    <tr>
      <th> student code </th>
      <th> event code </th>
      <th> participation code </th>
      <th> event link </th>
      <th> verification </th>
    </tr>
    <tr *ngFor="let e of events">
      <td>{{e.cod_s}}</td>
      <td>{{e.cod_a}}</td>
      <td>{{e.cod_p}}</td>
      <td>{{e.link_e}}</td>
      <td bold>{{e.ver}}</td>
      <td><button (click)="rejectEvent(e._id)" type="submit">rejeitar</button></td>
      <td><button (click)="approveEvent(e._id)" type="submit">aprovar</button></td>
    </tr>
  </table>
</div>

EVENTS.js - поставить функцию

router.put('/:id', function(req, res, next) {
  Evento.findByIdAndUpdate(req.params.id, req.body, function(err, post) {
    if (err) return next(err);
    res.json(post);
  });
});

EVENTS.component.ts

export class AprovacaoEventosComponent implements OnInit {

  events: any;
  id = 0
  verifica = false;

  constructor(private route: ActivatedRoute,
    private http: HttpClient,
    private router: Router
  ) {}

  ngOnInit() {
    this.id = this.route.snapshot.params['id'];
    this.http.get("http://localhost:3000/EVENTS").subscribe(data => {
      this.eventos = dados;
    })
  }

  rejectEvent(id) {
    for (let i = 0; i < this.eventos.length; i++) {
      if (this.eventos[i]['_id'] == id) {
        var index = i;
      }
    }
    this.events[index]['verifica'] = false
    this.http.put('http://localhost:3000/EVENTS/' + id, this.events).subscribe(answer => {
      this.router.navigate(['/EVENT-APPROVAL'])
      console.log('rejected!')
    }, (erro) => {
      console.log("error")
    })
  }

  approveEvent(id) {
    for (let i = 0; i < this.eventos.length; i++) {
      if (this.events[i]['_id'] == id) {
        var index = i;
      }
    }
    this.eventos[index]['verifica'] = true
    this.http.put('http://localhost:3000/EVENTS/' + id, this.events).subscribe(resposta => {
      this.router.navigate(['/EVENT-APPROVAL'])
      console.log('approved!')
    }, (erro) => {
      console.log("error")
    })
  }
}

Я не могу найти, что не так в коде, потому что не отображаются ошибки или что-то еще, и он даже обновляет правильные события в нужных областях, но он просто не сохраняет и не обновляет ничего в MongoБаза данных БД.Что делать?

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