Mongoose:自定义_id是否需要声明为索引并且是唯一的

时间:2015-08-09 04:18:23

标签: mongodb mongoose

以下是使用Mongoose定义集合结构的常用方法:

var UserSchema = new Schema({
    _id: Schema.Types.ObjectId,
    username: String,
    ...
});

现在我想将_id字段声明为Number类型:

var UserSchema = new Schema({
    _id: Number,
    username: String,
    ...
});

问题是,我是否需要声明有关_id的更多信息?如:

var UserSchema = new Schema({
    _id: {type: Number, required: true, index: {unique: true}},
    username: String,
    ...
});

我不确定MongoDB是否会自动执行此操作。

如果你知道答案,你可以在下面发表评论吗?谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,经过一些练习,我意识到,MongoDB会自动将_id设置为PRIMARY KEY(NOT NULL + UNIQUE INDEX)。所以,只需输入:

_id: Number,
...