Is it bad practice to mutate object during publication?

let’s say I have two simple models: Games and Players. Imagine Games has an array called players that is a unique set of player ids.

Meteor.publish('game', function (gameId) {
  check(gameId, String);
  let handle = Games.find(gameId).observe({
    added: doc => this.added('games', doc._id, Object.assign(doc, {
      players: Players.find({ _id: { $in: doc.players } }).fetch() // I know this isn't reactive.
    })
  });
  this.ready();
  this.onStop(() => handle.stop());
});

Is this bad practice? It would just be easier to publish to the client like this.

well, you can always do Object.assign({}, o1, o2) to be sure :smiley:
Still you are passing there that Players.find - so it is Cursor and you are returning it as players property.
Does it work that way ?

Still you are passing there that Players.find - so it is Cursor and you are returning it as players property.
Does it work that way ?

Oops, I meant to add that little fetch() after it