これは、2 つのコレクションを関連付ける Meteor/Mongo でよくあるケースです。mongo docsには、これに関する良い記事があります。
それぞれの場所に多くの画像があるとしましょう。画像内の場所への参照を配置するか、場所から多くの画像を参照することができます。
_id
collectionFS でイメージを作成する場合 (詳細は省略します)、イメージの を必ず保持してください。
imgId = image.insert();
画像にその場所を参照させたい場合は、次のように画像を更新できます。
image.update({ _id: imgId },{ $set: { placeId: myPlace._id }});
または$push
imgId
、場所内の画像の配列にできます:
Places.update({ _id: myPlace._id },{ $push: { imageArray: imgId }});
2 番目の形式の参照は、同じイメージを複数の場所 (多対多) に属することができるという点で、もう少し柔軟です。これはネストされた場所に適しています。たとえば、タイムズ スクエアの写真は、タイムズ スクエアの写真とニューヨーク市の写真の両方であるなどです。
どちらの方法でも、関連するコレクションを簡単に公開できるように設計されたreywood:publish-compositeパッケージを使用して、コレクションに参加できます。image
Places
また、Meteor でコレクションに名前を付ける一般的な規則は、最初の文字を大文字にし、複数形にすることにも注意してください。つまり、 imageの代わりにImages。これは、コレクションが Meteor のグローバル変数であり、コレクションが名前の由来となったものの多くを保持しているためです。