每当我想更新一些值时,我都会在输入中插入所有数据

时间:2019-02-18 21:04:36

标签: node.js angular mongodb

我新将Angular和Node.js与mongodb结合使用 我的问题是每次我要更新数据时我都必须再次插入所有数据 该值正确地适用于我的表单,但如果没有再次插入所有数据,则输入的数据不会更改其更新null 我的代码 我的editcliente.html

<input type="text" class="form-control" style="width:34px;height:34px"  value="{{id}}" readonly>
    <div class="form-group">
      <label for="Name"> Name of Customor</label>
      <input type="text" class="form-control" formControlName="Name"  value="{{name}}">
    </div>
    <div class="form-group">
      <label for="Address"> Address</label>
      <input type="text" class="form-control" formControlName="Address" value="{{address}}">
    </div>

我的cliente.ts

registerUser(id:any){
let name = this.registerForm.value.Name;
let address= this.registerForm.value.Address;
let telephone = this.registerForm.value.Telephone;
let postalcode = this.registerForm.value.PostalCode;
let email = this.registerForm.value.email;

 this.myfirstService.getupdate(id,name,address,telephone,postalcode,email).subscribe(data=>{
       if(data.success){
        console.log("deu")
       }
       else{
         console.log(" nao deu")
       }

  })

}

app.post('/api/updateCliente',async (req,res)=>{
  const {id,name,address,telephone,postalcode,email}= req.body
  console.log(id,name,address,telephone,postalcode,email);
  const resp = await Clientes.findOne({_id:id})

  if(!resp){
res.json({
  sucess:false,
message:'invalid cliente'
});
return
}
else{
await Clientes.updateOne({_id:id},{$set:{
  name:name,
  address:address,
  email:email,
  telephone:telephone,
  postalcode:postalcode}})
res.json({
  sucess:true
});

}
})

我如何解决此问题

1 个答案:

答案 0 :(得分:0)

updateOne处理检索到的文档,即resp返回的您的Clientes.findOne

尝试类似的东西:

resp.updateOne({
  name:name,
  address:address,
  email:email,
  telephone:telephone,
  postalcode:postalcode})