Я новичок в программировании и у меня проблема с обновлением массивов mongoDb / mon goose.
У меня есть модель пользователя. Эта модель содержит массив команд, в которых играет пользователь.
const userSchema = new mongoose.Schema(
{
name: {
type: String,
required: [true, 'Please provide name']
},
email: {
type: String,
unique: true,
required: [true, 'Please provide email address'],
lowercase: true
},
team: [
{
type: mongoose.Schema.Types.ObjectId,
required: true
}
],
{ toJSON: { virtuals: true }, toObject: { virtuals: true } }
);
Это модель моей команды:
const teamSchema = new mongoose.Schema(
{
name: {
type: String,
required: [true, 'Please provide a name'],
unique: true
}
{ toJSON: { virtuals: true }, toObject: { virtuals: true } }
);
teamSchema.virtual('members', {
ref: 'User',
localField: '_id',
foreignField: 'team'
});
Итак, я редактирую определенную КОМАНДУ и отправляю запрос патча, который содержит массив идентификаторов тех пользователей, которые принадлежат к этой команде.
Теперь я должен обновить несколько пользователей одновременно. Я не уверен, каковы правильные шаги или самый оптимальный способ сделать это, но эти вещи должны произойти:
- Pu sh Идентификатор команды для этого пользователя (которые были в request) командный массив, если Id там еще не существует
- Если Id пользователя отсутствует в запросе, но Id команды все еще находится в массиве команды пользователя, удалите этот Id команды из команды пользователя. массив.
Как мне подойти к этому?