如何在猫鼬中跨架构的数组属性使对象唯一?

时间:2019-01-29 00:37:41

标签: mongoose mongoose-schema

我有一个待办事项:

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'
    }
  }]
});

我希望任务在3个阵列中是唯一的,并且当用户更改任务状态时,我希望能够将其从阵列移到另一个阵列,而无需手动查看每个阵列并将其从中移除并将其添加到正确的数组中,特别是因为我需要查看许多不同的数组。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

在您的案例研究中,它说您要将Task对象ID存储在To-do模型的数组中,对吗?因此您不需要唯一的ID。只是Task中的ID。然后,当创建任务时,将其推入未启动的数组中,然后在其开始时将其从未启动中删除,然后将其推入未完成的数组中,所以就这样