我可以将非顺序ID用于环回模型吗?

时间:2016-04-14 20:37:55

标签: loopbackjs strongloop

Loopback使用序列号作为型号ID。我可以在服务器端使用自己的ID生成器吗?我该怎么做呢?

3 个答案:

答案 0 :(得分:7)

可以将Loopback生成器(guid,uuid,...)指定为model definition file中id属性的默认函数。

示例使用guid:

{
  "name": "ModelName",
  "base": "PersistedModel",
  "idInjection": false,
  "properties": {
    "id": {
      "type": "string",
      "id": true,
      "defaultFn": "guid"
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}

据我所知,您无法指定自己的默认功能。请参阅related github issue

如果您想要更高级的行为(例如您自己的生成器),您可以创建models/model-name.js文件并扩展模型的构造函数。

答案 1 :(得分:4)

是的,您需要做一些事情:

答案 2 :(得分:1)

如果使用Loopback 4,则这是用于在主键中生成UUID的设置。 在您的模型内部进行更改。

@property({
type: 'string',
id: true,
defaultFn: 'uuidv4',

}) id ?:字符串;

这是在表中生成唯一ID的方法。