Mongoose JSpath默认生成ID
看看下面的模式:
var userSchema = new mongoose.Schema({ fullName: { type: String, required: true, index: true }, activationId: { type: mongoose.Schema.ObjectId } }); userSchema.path('activationId').default(function() { return new mongoose.Schema.ObjectId.fromString('actvt'); });
它是关于“activationId”,我想生成一个ID(唯一的代码,objectID,因为这是已经内置的Mongoose),一旦用户被创build,所以如果我有以下代码:
var newUser = new User({ fullName: 'Rick Richards' }); newUser.save(function(error, data){ console.log(data.activationId); // Should give the activationId });
但是这个解决scheme给我以下错误:
TypeError: undefined is not a function
您可以通过为作为ObjectId
构造函数的activationId
字段定义一个default
属性来完成此操作:
var userSchema = new mongoose.Schema({ fullName: { type: String, required: true, index: true }, activationId: { type: mongoose.Schema.ObjectId default: mongoose.Types.ObjectId } });