Dit is een veelvoorkomend geval in Meteor/Mongo waar je twee collecties met elkaar in verband wilt brengen. De mongo-documenten schrijf hier goed over.
Laten we zeggen dat elke plaats veel afbeeldingen kan hebben. Je kunt een verwijzing naar de plaats in de afbeelding plaatsen of verwijzen naar de vele afbeeldingen van de plaats.
Wanneer u een afbeelding maakt in collectionFS (laat de details weg), zorg er dan voor dat u de _id
bewaart van de afbeelding:
imgId = image.insert();
Als u wilt dat de afbeelding naar de plaats verwijst, kunt u de afbeelding bijwerken met:
image.update({ _id: imgId },{ $set: { placeId: myPlace._id }});
of je kunt $push
imgId
op een reeks afbeeldingen in uw huis:
Places.update({ _id: myPlace._id },{ $push: { imageArray: imgId }});
De tweede vorm van verwijzing is iets flexibeler omdat hetzelfde beeld op meerdere plaatsen kan behoren (veel-op-veel). Dit is goed voor geneste plaatsen, bijvoorbeeld een foto van Times Square is zowel een foto van Times Square en een foto van New York City enzovoort.
Hoe dan ook, je kunt meedoen je image
en Places
collecties met behulp van de reywood:publish-composite
pakket dat is ontworpen voor het eenvoudig publiceren van gerelateerde collecties.
Merk ook op dat een algemene conventie voor het benoemen van collecties in Meteor is eerste letter met een hoofdletter en meervoud . d.w.z. Afbeeldingen in plaats van afbeelding . Dit komt omdat verzamelingen globale variabelen zijn in Meteor en een verzameling veel dingen bevat waarnaar deze is vernoemd.