mongoose默认值等于其他值
对于我的项目,我创build了一个userSchema,其简化如下所示:
var userSchema = new Schema({ _id: String, screenname: {type: String, required: false, default: "equal _id"}, });
用户有一个_id,这也是他的用户名。 一切工作到目前为止,直到我试图添加一个额外的字段screenname。 我想要的是当用户创build一个帐户时,他的屏幕名称等于_id的值。 稍后他可以调整它,但默认情况下,它应该等于_id的值。 我也试过了:
screenname: {type: String, required: false, default: _id},
但比课堂_id没有定义。
我应该如何设置默认值等于另一个值?
使用这里解释的pre
中间件
userSchema.pre('save', function (next) { this.screenname = this.get('_id'); // considering _id is input by client next(); });