在ref Mongoose中创建唯一索引

时间:2014-06-18 12:44:50

标签: node.js mongodb mongoose

我有这些架构:

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

mongoose.model( 'User', userSchema );


var fooSchema = new mongoose.Schema({
    title : {type: String,trim: true},
    owner : {type: mongoose.Schema.Types.ObjectId, ref: 'User'}
});

fooSchema.index({ title: 1, owner: 1 }, { unique: true }); //does not work
mongoose.model( 'Foo', fooSchema);

我想要使用验证,然后每个foo都可以拥有唯一用户的唯一标题

我尝试了

fooSchema.index({ title: 1, owner: 1 }, { unique: true });

但是如果另一个用户创建具有相同标题的新foo,我也有错误

更新: 我向unique: true添加了username,但我遇到了同样的问题

1 个答案:

答案 0 :(得分:1)

对于这个休眠线程的新观众:

mySchema.index({field1: 1, field2: 1}, {unique: true});

见这个帖子:

Creating Multifield Indexes in Mongoose / MongoDB