私はMeteorアプリケーションを構築していますが、現在出版物を作成しています。私のデータモデル(簡略化)はBookings
であり、それぞれが関連するClient
と関連するService
を持っています。このモデルでは参照データ更新の埋め込みデータを更新する
export interface Booking extends CollectionObject {
client_name: string;
service_name: string;
client_id: string;
service_id: string;
bookingDate: Date;
duration: number;
price: number;
}
: - 私はBooking
にClient
とService
のキーフィールドを埋め込むこと、また、IDにリンクしていますコレクションを取得する速度を最適化するために、私の予約・モデルは、以下の構造を有しますclient_id
およびservice_id
は、リンクされたドキュメントへの参照であり、client_name
/service_name
は、予約のリストを表示する際に使用されるように埋め込まれています。
このすべては私にとってうまく見えますが、パズルの欠落部分はこの埋め込みデータを最新の状態に保っています。システムの別の部分にあるユーザーがサービス(リアクティブ・コレクションとなる)を更新する場合は、対応するサービスIDの予約にservice_nameの更新をトリガーする必要があります。私がこれを購読するべきイベントはありますか、それともできますか?クライアント側では、MongoObservableコレクションのinsertメソッドやupdateメソッドを使用するサービスを追加/編集できるフォームがあります。私のOOP部分は、サーバーコードでオーバーライドして更新する必要があるように感じます関連するデータ、または私は完全に間違った方法についてこれを行っていますか?
は私が多くを使用して、このすべての無関係なと私は実際にちょうどhttps://atmospherejs.com/reywood/publish-compositeを使用し、関連文書のコレクションを返しshoudl(一度に数百の予約を返すとき、それは、本番環境でのパフォーマンスを害するようにそれだけで感じている)