Я создаю API в express. Я хотел бы, чтобы пользователь имел возможность зарегистрироваться и добавить компанию, после того как компания будет создана, я хотел бы дать пользователю возможность добавлять сотрудников, которые будут иметь доступ ко всей информации, связанной с компанией, например, к продуктам, предлагаемым компания. У меня есть следующая схема:
const companySchema = mongoose.Schema({
slug: String,
address: Object,
name: String,
phone: String,
website: String,
admins: [{ type: mongoose.Schema.Types.ObjectId, ref: "User" }],
clients: [{ type: mongoose.Schema.Types.ObjectId, ref: "Company" }],
employees: [{ type: mongoose.Schema.Types.ObjectId, ref: "User" }],
products: {
sells: [{ type: mongoose.Schema.Types.ObjectId, ref: "Product" }],
buys: [{ type: mongoose.Schema.Types.ObjectId, ref: "Product" }]
}
})
Это будет работать, когда сотрудник уже доступен в коллекции User. Когда сотрудник входит в систему, я могу подтвердить, что его _id существует в столбце сотрудников, и это также дает дополнительное преимущество возможности вызова populate
для компании.
Но как мне обращаться с пользователями, которые не являются в настоящее время зарегистрированы? Я хотел бы попросить пользователя, создающего компанию, добавить адреса электронной почты сотрудников. Должен ли я хранить это в свойстве unregisteredEmployees
в схеме компании и когда пользователь входит в систему, обновляет запись сотрудников?