Parent component that subscribes to the product, and send the id as a binding to the sub components, then each component can query (findOne) the collection for the data. Alternatively, you can send the whole object (or relevant part of it) as the binding to the sub component.
I like to handle all my subscriptions in “smart components” (usually only one of these per route), then either pass the data down directly to the “dumb components” or pass the relevant info for them to query the data in minimongo (e.g. the _id).
Put your subscribe part in the Service, then use Dependency Injection and subscribe in the parent component / smart component / container (whatever you call it).
Try to avoid putting them in the Component directly. Because these part are “API”, which related with the database.
It can help the code Testable and Reusable.
Check Subscribe data in Service using RxJS 5 .