У меня есть документ Parent
и документ Child
, где мне нужно, чтобы дочерние поля были уникальными только для родителя. Может быть миллион John Smiths
, но мне нужен только один John Smith
для каждого Parent
// Parent
const mongoose = require('mongoose')
const { Schema } = mongoose
const ParentSchema = new Schema({
// ...
children: [ChildSchema] // embeds many
}, {
timestamps: {
// ...
}
})
ParentSchema.index({
'children.firstName': 1,
'children.lastName': 1
}, {
unique: true,
sparse: true
})
// Child
const ChildSchema = new Schema({
firstName: { type: String },
lastName: { type: String }
}, {
timestamps: {
// ...
}
})