嵌入另一个包含唯一键的模式的猫鼬模式

时间:2018-08-22 15:01:38

标签: mongodb mongoose

我有两个mongoDB模式:

 /*--------------PRODUCTS SCHEMA------------------*/
var productSchema = new mongoose.Schema(
  { name : {type:String, index:{ unique: true }}, price : Number });

/*--------------KOT SCHEMA-------------------------*/
var kotSchema = new mongoose.Schema(
   { products:{ type:[productSchema], required: "Products cannot be blank" });

当我尝试使用以前保存的KOT文档中已经存在的产品保存新的KOT时,出现以下猫鼬错误: MongoError:E11000重复键错误集合:

我只希望productSchema的名称字段是唯一的。但是,我应该能够在数据库中保存与其他KOT文档共享相同产品的KOT。 没有为kotSchema设置 index:{unique:true} 属性。那我为什么会得到重复的错误?以及如何定义架构来解决此错误?

0 个答案:

没有答案