ObjectId字段的Mongoose唯一索引

时间:2017-03-11 17:34:50

标签: node.js mongodb mongoose database

尝试为ObjectId字段创建唯一索引。 我试过了:

var schema = new Schema({
    field: {
        type: Schema.ObjectId,
        ref: 'SomeModel',
        unique: true,
    } });

和...

var schema = new Schema({
    field: {
        type: Schema.ObjectId,
        ref: 'SomeModel',
        index: {unique: true}
} });

我无法使其正常工作,这似乎是一个非常常见的问题。

2 个答案:

答案 0 :(得分:1)

Schema.Types.ObjectId代替Schema.ObjectId

答案 1 :(得分:1)

解决。这是type定义的错字,对我来说是愚蠢的......

类型应为:

type: Schema.Types.ObjectId
杰克布莱克指出。我没有注意到这个错字,因为我的代码定义仍适用于查询填充。奇怪的行为。