Пн goose обновление массивов - PullRequest
0 голосов
/ 21 января 2020

Я новичок в программировании и у меня проблема с обновлением массивов 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'
});

Итак, я редактирую определенную КОМАНДУ и отправляю запрос патча, который содержит массив идентификаторов тех пользователей, которые принадлежат к этой команде.

Теперь я должен обновить несколько пользователей одновременно. Я не уверен, каковы правильные шаги или самый оптимальный способ сделать это, но эти вещи должны произойти:

  1. Pu sh Идентификатор команды для этого пользователя (которые были в request) командный массив, если Id там еще не существует
  2. Если Id пользователя отсутствует в запросе, но Id команды все еще находится в массиве команды пользователя, удалите этот Id команды из команды пользователя. массив.

Как мне подойти к этому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...