我在将uuid
与new mongoose.Schema
一起使用时遇到问题。我使用它来生成设备的唯一密钥,并使用Node.js将其保存到MongoDb。问题在于它每次都使用相同的UUID。
这是模型:
const mongoose = require('mongoose');
const uuid = require('uuid/v4');
const DeviceSchema = new mongoose.Schema({
deviceNumberHash: {
type: String,
required: true
},
receivingKey: {
type: String,
default: uuid()
}...
});
你知道怎么了吗?
答案 0 :(得分:3)
您正在调用 uuid
,并将其返回值作为默认值使用。
相反,传入函数(不要在其后加上()
)
const DeviceSchema = new mongoose.Schema({
deviceNumberHash: {
type: String,
required: true
},
receivingKey: {
type: String,
default: uuid // <========== No ()
}...
});
默认值可以是函数per the docs(例如,使用default: Date.now
为日期字段提供默认值的示例)。