Допустим, у меня есть два типа документов MongoDB: «Проекты» и «Задачи». У проекта может быть много задач. В моем случае более целесообразно связывать документы, а не внедрять их.MongoDB: Убедитесь, что ссылочный документ все еще существует
Когда пользователь хочет сохранить задачу я первый убедиться, что проект задачи быть назначен существует, например, так:
// Create new task
var task = new Task(data);
// Make sure project exists
Project.findById(task.project, function(err, project) {
if(project) {
// If project exists, save task
task.save(function(err){
...
});
} else {
// Project not found
}
});
Меня беспокоит то, что если другой пользователь происходит удаление проекта по истечению Project.findById()
выполняется запрос, но перед тем как задача будет сохранена, задача будет создана в любом случае без ссылки на проект.
Является ли это актуальной проблемой? Существует ли какая-либо практика, которая предотвратила бы это, или это просто то, что должно быть связано с MongoDB?
Имеет смысл. Мне нравится идея работы cron. –