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 的 name 字段是唯一的。但是,我应该能够保存可能与数据库中其他 KOT 文档共享相同产品的 KOT。没有为 kotSchema 设置index:{unique:true}属性。那为什么我会收到重复的错误?以及如何定义模式来解决此错误?
解决方案
推荐阅读
- javascript - 拖放时可见性隐藏和可见在javascript中不起作用
- octave - 在 Octave 中更改窗口的键盘快捷键
- scala - 将数据框字符串列转换为 Array[Int]
- linux - ASLR 是否启用了 libc 随机函数地址?
- amazon-web-services - 如何使用 lambda 将不同区域 s3 存储桶中的对象从 aws china 复制到 aws global?
- angular - 以角度在页面加载时突出显示第一个列表项值作为默认值
- android - 如何让最后一个应用程序在前台运行
- spring - 我只能通过@ComponentScan 获得另一个@Configuration
- react-native - React-Native 异步函数意外标识符 _this2
- javascript - 正则表达式 if else 语句失败