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(); });