Toto je běžný případ v Meteor/Mongo, kdy chcete spojit dvě kolekce. mongo dokumenty dobře se o tom popiš.
Řekněme, že každé místo může mít mnoho obrázků. Můžete buď vložit odkaz na místo do obrázku, nebo odkazovat na mnoho obrázků z místa.
Když vytváříte obrázek v kolekci collectionFS (vynecháte-li specifika), nezapomeňte zachovat _id
obrázku:
imgId = image.insert();
Pokud chcete, aby obrázek odkazoval na místo, můžete obrázek aktualizovat pomocí:
image.update({ _id: imgId },{ $set: { placeId: myPlace._id }});
nebo můžete $push
imgId
na pole obrázků uvnitř vašeho místa:
Places.update({ _id: myPlace._id },{ $push: { imageArray: imgId }});
Druhá forma reference je o něco flexibilnější v tom, že stejný obrázek může patřit na více míst (many-to-many). To je dobré pro vnořená místa, například obrázek Times Square je oba obrazem Times Square a obrázek New York City a tak dále.
V obou případech se můžete připojit váš image
a Places
sbírky pomocí reywood:publish-composite
balíček, který je navržen pro snadné publikování souvisejících sbírek.
Všimněte si také, že běžná konvence pro pojmenování kolekcí v Meteoru je první písmeno velké a množné číslo . tj. Obrázky místo obrázku . Je to proto, že kolekce jsou globální proměnné v Meteoru a kolekce obsahuje mnoho věcí, po kterých je pojmenována.