Я пытаюсь создать систему многопользовательского списка задач, в которой каждый пользователь может отменить задачу (создать, обновить, удалить) другим пользователем, поэтому мне нужно использовать mongodb, чтобы я мог сохранять прошлые изменения в последовательном порядкевносимых изменений.
Пожалуйста, помогите мне, как добиться этой функции, в MEAN.
при нажатии отмены, БД должна извлечь данные, сделанные в прошлом, и вернуть текущее состояниеданные.
my shema
const todoSchema=new Schema({
todoId:{
type:String,
default:'',
required:true,
},
todoBody:{
type:String,
default:'',
},
contributors:{
type:[],
required:true,
},
type:{
type:String,
default:'child',
},
time:{
type:time,
default:'',
},
childNodes:{
type:[Schema.Types.ObjectId],
ref:'Todo',
}
})
module.exports = mongoose.model('Todo', todoSchema);
Я думал о том, чтобы поставить видимый флаг на схеме, но при этом пользователь не будет выбирать одну задачу и делать create-undo.и при этом он не будет синхронизирован по одному шагу за раз, отмена будет происходить во всей коллекции.
Другой способ - создать другую таблицу / схему для хранения изменений, сделанных с помощью (время или номер версии) и objectIdизменяющихся задач.но я не могу понять, как функция будет работать с n количеством отмен.таким образом, каждый раз, когда я отменяю, якобы создается новая запись с избыточными данными.
Я также читаю некоторые блоги, чтобы сохранить используемые команды, и затем выполняю в обратном порядке, возможно ли это в mongoDB каксоздание и удаление могут вызвать проблемы, может быть.
или есть какая-либо библиотека для решения этой проблемы.