Disons que j'ai deux types de documents MongoDB: 'Projets' et 'Tâches'. Un projet peut avoir plusieurs tâches. Dans mon cas, il est plus approprié de lier les documents plutôt que de les intégrer.MongoDB: Vérifier que le document référencé existe toujours
Lorsqu'un utilisateur veut enregistrer une tâche que je vérifie en premier lieu que le projet la tâche est assignée à existe, comme ceci:
// 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
}
});
Ma préoccupation est que si un autre utilisateur arrive à supprimer le projet après la Project.findById()
La requête est exécutée, mais avant que la tâche soit enregistrée, la tâche sera créée de toute façon sans projet référencé.
Est-ce une préoccupation légitime? Y a-t-il une pratique qui empêcherait cela de se produire, ou est-ce juste quelque chose qui doit être confronté avec MongoDB?
Fait sens. J'aime l'idée d'un travail cron. –