我在应用程序的后端使用Mongoose。每当我尝试使用API保存数据时,都会添加一个名为__v
的附加列。我浏览了他们的文档,发现多余的字段用于版本控制。
我的前端应用程序中有一个CRUD。每当我执行get请求时,都会收到以下错误消息。
ERROR Error: Cannot find form control with name: __v.
at FormGroup.push../node_modules/@angular/forms/fesm5/forms.js.FormGroup._throwIfControlMissing (forms.js:3605)
at forms.js:3462
at Array.forEach (<anonymous>)
at FormGroup.push../node_modules/@angular/forms/fesm5/forms.js.FormGroup.setValue (forms.js:3461)
at EmployeeService.push../src/app/services/employee.service.ts.EmployeeService.load (employee.service.ts:54)
at EmployeesComponent.push../src/app/components/employees/employees.component.ts.EmployeesComponent.onEdit (employees.component.ts:47)
at Object.eval [as handleEvent] (EmployeesComponent.html:81)
at handleEvent (core.js:19545)
at callWithDebugContext (core.js:20639)
at Object.debugHandleEvent [as handleEvent] (core.js:20342)
一些建议是删除集合中__v
字段的创建。但我想保留该字段,并仍然确保没有错误。有人可以帮我吗?
答案 0 :(得分:1)
使用patchValue()
代替setValue()
component.ts
this.myForm.patchValue(responce)