I want to exclude the field “id” within publications. The syntax used is according to mongoDB spec. Trying results in an Error: You may not observe a cursor with {fields: {id: 0}}
Is that even possible with Meteor?
With one exception, it is not possible to mix inclusion and exclusion styles: the keys must either be all 1 or all 0. The exception is that you may specify _id: 0 in an inclusion specifier, which will leave _id out of the result object as well. However, such field specifiers can not be used with observeChanges, observe, cursors returned from a publish function, or cursors used in {{#each}} in a template. They may be used with fetch, findOne, forEach, and map.
Use different collection to share between users, even profile part of user account will be removed in the future, to enforce better security of account handling.
Good news is that _id of post have to be shared, but if you are using different collection, that _id does not mean profile_id.
You can still track profile_id in non-shared field so untrackable to client accounts from app.