【发布时间】:2012-09-11 22:58:20
【问题描述】:
我有这样的架构:
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 就存在于department 内的employee 文档数组中
我有几个department 文档,其中有多个employee 文档存储在employees 数组中。
然后我添加了一个新的department,但它不包含employees。如果我随后尝试添加另一个department 而没有employees,Mongoose 会为employee.email 字段生成一个Duplicate key error,这是一个必填字段。 employee.email 字段是必填且唯一的,而且必须如此。
这里面还有吗?
【问题讨论】: