mongoose unique无效

var groupSchema = new mongoose.Schema({
    group: {
        type: String,
        unique: true
    }
});

在存数据的时候,同样的value可以无限存啊

阅读 7.5k
3 个回答

关于Field中嵌入的Document实现unique的约束:

unique index不能保证这样情况下的唯一性;unique index主要保证Document Level的唯一性,不能保证Sub Document Level的唯一性。

所以,通常需要代码中操作文档的时候进行控制;

不过,如果您的需求,我理解正确的话:

是否可以创建复合的唯一Index来满足需求,例如:

Schema is like as blow.

{name : String,
group : { type : String}}

Create compound unique index.

.createIndex({name : 1 , "group.type" : 1 } , { unique : true })

供参考。

Love MongoDB! Have Fun!

我没有在你这个代码上测试过,我用的时候加了index选项,你可以试试。

var groupSchema = new mongoose.Schema({
    group: {
        type: String,
        index: true,
        unique: true
    }
});

soonfy

删库后重新开始,可以 unique 可生效

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题