性能向上のため、リレーショナルDBからMongoDBへの移行に興味があります。私は複数の場所に冗長化された非正規化データを格納し、アプリケーションコードなしでデータの整合性を自動的に維持できるかどうか疑問に思っています。例えばMongoDB - データの完全性を自動的に維持
私は、ユーザーのドキュメント...
User: { _id: "...", userName: "johndoe", displayName: "John Doe", TotalTasks: 3 }
し、タスクの文書を持っている場合は、...
Task: { _id "...", title: "Finish Reports", userID: "...", userName: "johndoe", userDiplayName: "John Doe" }
にはどうすれば自動的にユーザ名とのdisplayNameが同じとどまることを確実にすることができます適切な書類に?このユーザーに対して新しいタスクが追加または削除されたときに、TotalTasksが更新されるようにするにはどうすればよいですか?
NoSQLの原則に従ってスキーマを再設計する必要があります。可能であれば、タスクはユーザー文書に埋め込まれなければなりません。私はあなたの質問に受け入れた答えが実際にそれに適切に答えるとは思わない。 –