angular - Angular 8:反应形式在更新时将 ObjectID 转换为字符串
问题描述
我有一个更新表单,其中有一个 ObjectID 类型的参考 ID。从更改为字符串更新时如何保留 ObjectID?我尝试使用 bson 包将其转换回来,结果在我 console.log 我的 form.value 时显示:
id: ObjectId {id: Uint8Array(12)}
这基本上是我真正想要的。但是当我在 mongo compass 中检查文档时,它仍然作为字符串插入。
有没有办法来解决这个问题?也许其他解决方案?
仅供参考我使用环回作为我的后端并使用自动生成的 CRUD 控制器
使用以下代码更新:
更新表格.ts
//create formcontrol
this.form = this._formBuilder.group({
field1: this._formBuilder.array([
])
//patch value
setValue() {
let control = this.form.get('field1') as FormArray;
this.data$.field1.forEach(x => {
control.push(this._formBuilder.group({
id: new ObjectID(x.id),
name: x.name
}))
})
}
updateform.html
<div formArrayName="field1"
*ngFor="let field of form.get('field1')['controls']; let i = index;">
<div [formGroupName]="i">
<mat-form-field>
<input matInput placeholder="Ref. ID" formControlName="id">
</mat-form-field>
</div>
</div>
解决方案
推荐阅读
- mysql - Laravel 从 mysql 表中显示刀片视图的数据
- java - 如何在 Java 中返回 LocalTime 的总和
- salesforce - Salesforce:尽管同一对象的条件相同,但查询会产生不同的记录计数
- java - 将倒数计时器值传递给下一个活动
- php - Woocommerce - 向可变产品添加新属性值
- python - 如何在 Moderngl EGL 后端添加深度缓冲区?
- angular - 无法更新 Angular CLI
- sql - Python3:无法使用从 SQL 表中获取的数据写入文本文件
- java - Android app crashes when using Notification with JobScheduler
- reactjs - history.push("/") 和之间有什么区别