如何确保环回模型中特定字段的唯一性。 下面是模型Post,我在其中有一个字段genericId,我希望它在数据库中是唯一的,并且在重复键插入时循环到错误。
{
"name": "Post",
"plural": "Post",
"base": "PersistedModel",
"properties": {
"genericId": {
"type": "string",
"required":True
},
"moderatedAt": {
"type": "date"
}
},
"validations": [],
"acls": [],
"methods": []
}
我试过在那里搜索文档和其他示例但没有成功。 我能想到的一个解决方案是,为create函数创建一个remoteHook,并在插入之前验证这个字段,但是寻找其他方法。
答案 0 :(得分:24)
不确定这是否是获得唯一性的更好方法,但you can find here有关索引模型的文档。
只需在您想要的字段上添加唯一索引,瞧!
对于您的模型,那将是:
{
...
"genericId": {
"type": "string",
"required": True,
"index": {"unique": true}
},
...
}
但是,如果genericId
字段是模型的实际ID,我建议您将其声明为这样,这样您就可以使用findById
方法,并避免创建重复{{1如果你没有在模型中声明任何内容,就会发生这种情况。
id
答案 1 :(得分:23)
答案 2 :(得分:1)
Lookback v4解决方案如下:
@model()
export class Client extends Entity {
@property({
type: 'string',
required: true,
index: {
unique: true,
},
})
name: string;
}