Props to @nirinchev for being on point.
The questions you’re asking would probably be better answered if we understood what you’re trying to do. You could have an inherent architecture issue or there may be some other way of using your data.
Generally, you will have separate realms for each user/group/entity and if you need to share data, that would be through a global realm.
Query (Partial) based sync Realms are ‘going away’ at some point which is why you will see over and over the documentation points to using full-sync realms. (or they could re-engineer it. We’ll see)
Query-based Sync is not recommended. For applications using Realm Sync, we recommend Full Sync. Learn more about our plans for the future of Realm Sync here.
To address the second question:
In subscription regards, how could we know that the image object get uploaded to the server in a full-sync Realm?
There are no subscriptions in Full Sync Realms. You have access to all of the data, all of the time. If you store an item in Realm, like an image, it’s written locally first and then at some point thereafter it’s written to the server. If another client is observing a results object, that event will fire once the data is on the server and available.
If you want to monitor progress of Realm, there are Progress Notifications that can be used for example, to update your UI during a long process.