Как сделать объект уникальным среди атрибутов массива Schema в mongoose? - PullRequest
0 голосов
/ 29 января 2019

У меня есть схема дел:

const todoSchema = mongoose.Schema({
  user: {
    type: Schema.Types.ObjectId,
    ref: 'user'
  },
  completed: [{
    task_id: {
      type: Schema.Types.ObjectId,
      ref: 'task'
    }
  }],
  unfinished: [{
    task_id: {
      type: Schema.Types.ObjectId,
      ref: 'task'
    }
  }],
  notstarted: [{
    task_id: {
      type: Schema.Types.ObjectId,
      ref: 'task'
    }
  }]
});

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

Как я могу это сделатьчто пожалуйста?

1 Ответ

0 голосов
/ 29 января 2019

в вашем примере показано, что вы хотите хранить идентификаторы объекта Task в массиве модели To-do, верно?так что вам не нужно иметь уникальные идентификаторы.просто идентификатор из задачи.затем, когда задача создана, переместите ее в незапущенный массив, затем, когда она запустилась, удалите ее из незапущенного массива и переместите в незаконченный массив, и так далее, вот и все

...