MongoDB の公式ドキュメントで提案されているように、参照を使用してモデル化された典型的な 1 対多の関係があるとします。
var User = mongoose.Schema({
});
var Group = mongoose.Schema({
user: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}]
});
また、ユーザーがグループに表示される順序が重要であると仮定すると、配列が必要になります。
$pull
ここで、ユーザーが削除され、グループが何らかの理由で維持されていないと仮定しましょう。Mongoose を使用するとpopulate
すべて問題ないように見えますが、配列内にガベージが残ります。
孤立した参照を特定して削除する方法はありますか? おそらく自動的に -CASCADE
リレーショナルの世界で何をするのと同じように? Mongo/Mongooseで参照整合性を維持するための最良のアプローチは何ですか? 最後に、最も効率的なものは何ですか?