目的
为两列创建唯一性
我尝试的内容
这是我的架构,
var mongoose = require('mongoose');
// location table Schema
var locationSchema = new mongoose.Schema({
locationId: { type: String, required: true },
stockingLocationId: { type: String, required: true},
parentStockingLocationId: { type: String },
stockingLocationDescription: { type: String },
created: { type: Date, default: Date.now },
lastModified: { type: Date, default: Date.now },
isActive: { type: Boolean , default : true },
isDeleted: { type: Boolean , default : false }
});
两列是locationId
和stockingLocationId
。
我尝试了locationSchema.index({locationId:1, stockingLocationId:1}, { unique: true });
但不起作用,
请帮忙吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
在对下面的字段添加单引号之后,它对我有用
mySchema.index({'field1': 1, 'field2': 1}, {unique: true});
答案 2 :(得分:0)
我认为你必须对这两列进行单独的调用。你这样做的方式,两列的组合将是唯一的(组合唯一键)。
locationSchema.index({locationId:1}, { unique: true });
locationSchema.index({stockingLocationId:1}, { unique: true });
答案 3 :(得分:0)
更改索引架构后需要删除数据库
答案 4 :(得分:0)
您可以在架构本身中进行如下设置:
locationId: { type: String, required: true, unique:true, index:true },
stockingLocationId: { type: String, required: true, unique:true, index:true},