我需要一种内容类型的UUID字段,借助下面的介绍,我修改了文件“ MyType.settings.json”。
https://strapi.io/documentation/3.x.x/guides/models.html#define-the-attributes
"uid": {
"default": "",
"type": "uuid"
},
我认为UUID是自动保存的,但是什么也没发生。
如何定义和使用UUID字段?有人可以给我提示吗? 我是否还应该修改文件\ api \ MyType \ controllers \ MyType.js?
谢谢!
本杰明
答案 0 :(得分:1)
您可能还希望使用v4 UUID,这是非常的最大保证,它生成速度最快,并且会给您与其他所有相等条件碰撞的机会最小(可以是10x或甚至更快),这是99%的人希望为以下目的生成UUID的原因:
在全球UUID社区中工作,保持尽可能独特,不会与其他任何东西冲突。
此外,v4比v1更安全,因为v1包括制作时间和创建它的硬件,并且冲突率异常更高,因为今天没有人尊重节点字段和只是充满了熵,这破坏了v1的全部目的。
在v1上使用v4的原因非常明显,因此该信息应该变得更加公开和广泛。白天和黑夜。现在,所有仅寻求熵的主要框架都使用v4。
import { v4 as uuid } from "uuid";
// Then just...
const myUUID = uuid()
创建UUID v1的原因是,人们甚至是提出UUID的天才计算机科学家都没有完全意识到,仅128位的地址空间比花哨的定时和节点跟踪要好得多。 UUID v1是过度设计的一个很好的例子。
答案 1 :(得分:0)
您将必须使用uuid
节点模块。
因此,保留您的属性,并在lifeCyle函数中,使用lib设置uuid
。
'use strict';
const uuid = require('uuid');
module.exports = {
beforeCreate: async (model) => {
model.set('uid', uuid());
}
};