If the goal is the store a sum field on each document, equal to the sum of the values in the news hash, it may be easier to do this without map/reduce.
Consider the following code example:
http://pastebin.com/mU8ucqdPI iterate over the collection using find(), apply snapshotting (see the linked documentation), calculate the sum in PHP, and update the sum field accordingly. Building upon this, you could do atomic updates when adding a new entry to the news field. As you $set a new key in the news object, you can $inc the sum field accordingly. Then, you could reserve the code example for initializing the sum fields or resetting them if things happen to get out of sync.
The equivalent summation (from my code example) could be done with map/reduce, but you'd be calculating the array sums in Javascript (possibly slower in practice) and then you'd still have to issue updates for each document.