我正在为一个团队建立一个计划委员会,其中包含一些阶段,每个阶段包含一些要执行的任务。任务可以拖放到其他阶段。这是一个基于订单的董事会。如果用户将任何任务拖放到其他阶段,那么它的顺序将按照已删除的阶段顺序进行调整。这样我就可以得到增加排序顺序的任务。假设有两个阶段,每个阶段包含两个任务,每个阶段的任务顺序是1和2。当用户从第一阶段拖出一个任务(即顺序1),并在第二阶段的任务之间删除它,即在两个任务之间,则第二阶段的顺序应该进行调整。这样我就可以得到1,2,3的顺序。当任务1保持不变,2阶的任务将增加到3,而从第一位转移到第二位的任务将得到第2阶。最后,我可以明智地得到任务。如果有必要,我可以更改模型,以便在mongodb中编写性能。
MONGODB中的计划模型
const planSchema = new mongoose.Schema({
title: {
type: String,
required: [true, 'Plan title is required for plan'],
},
createdBy: {
type: mongoose.Schema.ObjectId,
required: [true, 'Plan creator is required'],
},
createdDate: {
type: Date,
default: Date.now(),
},
stages: [{ id: String, name: String, tasks: [task: String, order: Number]}],
});发布于 2020-08-27 04:21:54
检查position操作符。这里是参考
https://stackoverflow.com/questions/63603814
复制相似问题