Al tratar de usar el objectid en el esquema de mongoose como referencia para hacer un put para actualizar un documento en una colección. La consola registra su éxito, pero cuando actualizo la página o miro en el shell de Mongo, nada cambia.
Aquí está la puesta en el enrutador expressjs:
router.put('/messageupdate/:empId', function (req, res) { var values = req.body; console.log(values); var empId = req.params.empId; console.log(empId); Message.update({empId: empId}, values, function(err, values) { if (!err) { res.json("okay"); } else { res.write("fail"); } }); })Aquí está el método de servicio:
updateServiceWithId(message: Message): Observable<any> { console.log(message); const body = JSON.stringify(message); console.log(body); const headers = new Headers({'Content-Type': 'application/json'}); return this.http.put('http://localhost:3000/messageupdate/:empId', body, {headers: headers});}
Aquí está el método del lado del cliente que activa la opción de venta:
onUpdateMessage() { var retVal = confirm("Do you want to continue ?"); if( retVal == true ){ const message = new Message(this.fname,this.lname,this.empId,this.number,this.occu); console.log(this.fname);console.log(this.lname); console.log(this.empId);console.log(this.occu); this.messages.push(message); this.messageService.updateServiceWithId(message) .subscribe( () => console.log('Success!'), error => console.error(error) ); } else{ alert("Edit cancled!"); return false; } }