Javascript 使两个字段的组合在我的收藏中独一无二
我使用的是以下猫鼬模型:Javascript 使两个字段的组合在我的收藏中独一无二,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我使用的是以下猫鼬模型: var Test = db.model('Test', db.Schema({ one: { type: String, required: true }, two: { type: String, required: true } }, { strict: false }) ); 它有两个必填字段,one和two,以及strict:false,因为可能还有其他名称不确定的字段 我希望one和two的组合是唯一的。这意味
var Test = db.model('Test', db.Schema({
one: { type: String, required: true },
two: { type: String, required: true }
},
{ strict: false })
);
它有两个必填字段,one
和two
,以及strict:false
,因为可能还有其他名称不确定的字段
我希望one
和two
的组合是唯一的。这意味着可能有多个文档具有相同的一个
或相同的两个
,但它们都不应具有相同的一个
和两个
组合
这可以通过Mongoose实现吗?您可以在Mongoose中使用模式的方法执行,该方法在模式级别定义索引:
var testSchema = db.Schema({
"one": { "type": String, "required": true },
"two": { "type": String, "required": true }
}, { "strict": false });
testSchema.index({ "one": 1, "two": 1}, { "unique": true });
var Test = db.model("Test", testSchema );
如果“two”是对另一个模式的引用,那么有没有办法做同样的事情?感谢
“one”中提供的1
值是什么:1
?@AkashTomar 1表示升序order@chridam我已经照你说的做了,但没有一个行得通。这是我的问题。如何在复合索引上实现真正的唯一性?