私はWebアプリケーションを構築しています。関連ドキュメント間の更新を世話するために長い時間をかけています。投稿とコメントとの間のMongoDB自動更新
例えば、私は、「タスク」ドキュメントおよび「ユーザー」の文書を持っています。タスクが作成されると、複数のユーザーが割り当てられます。従って、
taskA.assigned = ["1321231fsdfsdf"(userA's _id), "12312313asdasdasd"(userB's _id)]
userA.tasks = [..., "1231321"(taskA's _id),...]
userB.tasks = [..., "12313211"(taskB's _id),...]
タスクを作成するだけでは、私はそれをうまく処理できます。しかし、私はタスクを編集しようとするとあまりにも厄介になります。ユーザーBをtaskAから削除すると、userBのIDを削除してuserBのタスクプロパティに移動し、taskAのIDも削除する必要があります。
これに対処するためのショートカットと自動の方法はありますか?読んでいただきありがとうございます。私があまりにも漠然としているかどうかを教えてください、私は詳細を追加します。外部キーとカスケード更新を使用してMySQLなどのリレーショナルデータベースで
あなたの問題はデータベースの設計方法にあります。重複した値を別の文書に保存することを選択します。これはデータベースからの読み込みを速くするのに役立ちますが、書き込み時には一貫性を保つために注意する必要があります。コレクション間に関係がある場合は、今のような書き込み操作が面倒かもしれません。 これを解決するには、コレクション間の関係でデータベース構造を再設計することが考えられます。 – Khang
@Khangええ、それは私が正確に感じたものです。私は自分が行ったことで何かが間違っていることを知っています。それから、私は今何をすべきか?ところで、私が覚えている限り、私がmysqlを使用していたとき、この問題を処理する非常に便利な方法がありました。投稿とコメントとの関係を作るなど、投稿が削除された場合、その投稿に関連するすべてのコメントも一緒に削除されます。私はmongodbが同じ機能を持っているかどうかを調べていましたが、私はそれについて懐疑的です。モンゴブでこれを行う方法を知っている人はいますか? – supergentle