私はそのようなスキーマを持っています:
class Schemas
constructor: ->
@mongoose = require 'mongoose'
@schema = @mongoose.Schema
@EmployeeSchema = new @schema
'firstname': { type: String, required: true },
'lastname': { type: String, required: true },
'email': { type: String, required: true, index: { unique: true }, validate: /\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b/ },
'departmentId': { type: @schema.ObjectId, required: true }
'enddate': String,
'active': { type: Boolean, default: true }
@EmployeeSchemaModel = @mongoose.model 'employees', @EmployeeSchema
@DepartmentSchema = new @schema
'name': { type: String, required: true, index: { unique: true } }
'employees' : [ @EmployeeSchema ]
@DepartmentSchemaModel = @mongoose.model 'departments', @DepartmentSchema
だから私は内部employeesのドキュメントの配列に住んでいますemployeedepartment
配列にdepartment多数のemployeeドキュメントが保存されているドキュメントがいくつかあります。employees
次に、新しいものを追加しましたdepartmentが、含まれていませんでしemployeesた。department次に、を使用せずに別のフィールドを追加しようとするとemployees、Mongooseは必須フィールドであるフィールドのを生成します。このフィールドは必須であり、一意である必要があります。Duplicate key erroremployee.emailemployee.email
とにかくこれの周りにありますか?