これは、MongoDB と Node.js Mongoose ライブラリに関連しています。
あるスキーマから別のスキーマに複製する必要があるかなりの量のデータがある状況に対処しています。そのデータを個別にロードするか、データを最新にする必要があるため参照を使用する必要があります (別名、頻繁に変更されます)。これらの頻繁な変更により、埋め込みドキュメントは実用的ではなくなります。
オブジェクト内に 5 ~ 10 の参照が存在することになる場合、これは悪い考えですか?
それが悪い考えである場合、別のクエリまたは一連のクエリを使用して、必要なサブドキュメントごとに個別にクエリを実行する方がよいでしょうか?
ミックスに追加するために、これらをメモリキャッシュの背後に配置して、常にリロードされないようにします。キャッシュの有効期限が切れた場合、またはドキュメントが変更された場合にのみ変更されます。
あなたの考えや経験は?
いくつかの要求に基づいて、ここに例といくつかの詳細情報があります:
var postSchema = new Schema({
postType: String,
created: {type: Date, default: Date.now},
event: {type: Schema.Types.ObjectId, ref:'Event'},
...
});
この場合、イベントはほぼ毎回ロードされます。他のほとんどの場合、条件付きでのみロードされます。
スケールの問題に答えるには、かなりの負荷がかかります。おそらく数百よりも数百万に近いでしょう。
これを教えてください、イベント オブジェクトを redis (キャッシュ ターゲット) にキャッシュし、そこからポスト ロードを呼び出し、キャッシュにない場合は別のクエリを実行する方がよいでしょうか? リファレンスよりも良いコースかもしれないと思います。同意?同意しませんか?