Node.js 在模型实例生成唯一UUIDv4时出现问题
我在尝试创建mongoose模型的实例时遇到了一个与UUID相关的问题 猫鼬模式Node.js 在模型实例生成唯一UUIDv4时出现问题,node.js,uuid,mongoose-schema,Node.js,Uuid,Mongoose Schema,我在尝试创建mongoose模型的实例时遇到了一个与UUID相关的问题 猫鼬模式 问题 当我在使用上述实例代码的/ressources/上发送POST请求时,将创建ressource,但如果我发送另一个POST请求,则创建的第二个ressource的UUID与第一个相同 POST请求的结果#1 POST请求的结果#2 我是否错误地使用了default:uuidv4(),还是源于我实例化mongoose模型的方式?还是别的什么 我确实尝试过从Schema.pre('save')函数设置UUID,
问题 当我在使用上述实例代码的
/ressources/
上发送POST请求时,将创建ressource,但如果我发送另一个POST请求,则创建的第二个ressource的UUID与第一个相同
POST请求的结果#1
POST请求的结果#2
我是否错误地使用了default:uuidv4()
,还是源于我实例化mongoose模型的方式?还是别的什么
我确实尝试过从Schema.pre('save')
函数设置UUID,但没有成功
我有点迷路了,谢谢你的帮助 似乎uuidv4()
是一个字符串。当然,所有车型都是一样的
考虑到:
const uuidv4 = require('uuidv4');
Mongoose生成一个值:
export let RessourceSchema: mongoose.Schema = new Schema({
uuid: {
type: String,
default: uuidv4
},
...
问题中没有显示什么是
uuidv4
。如果是require('uuidv4')
,应该明确说明。我已经更新了,谢谢。我已经尝试过了,但是当我发送POST请求来创建ressource时,请求的结果中缺少uuid属性,这意味着默认函数没有执行或出现了错误(我没有任何错误),好的,似乎我没有以良好的方式导入uuid包。我像这样导入它,import*作为uuidv4从'uuid/v4'导入代码>这似乎是这里的问题!很高兴它起作用了。请注意,您已经在这里执行相同的操作,默认值:Date.now
。
{
"type": true,
"data": {
"uuid": "1794bbb4-3385-4b0d-909a-e22c60aee608",
"_id": "5b3a42f5ae71a02af4ed6d11",
"name": "Name of ressource 1",
"type": "IMAGE",
"uploaded": "2018-07-02T15:21:25.866Z",
"__v": 0
}
}
{
"type": true,
"data": {
"uuid": "1794bbb4-3385-4b0d-909a-e22c60aee608",
"_id": "5b3a4530f3ab1f3d40b7ac93",
"name": "Name of ressource 2",
"type": "IMAGE",
"uploaded": "2018-07-02T15:30:56.379Z",
"__v": 0
}
}
const uuidv4 = require('uuidv4');
export let RessourceSchema: mongoose.Schema = new Schema({
uuid: {
type: String,
default: uuidv4
},
...