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