This is poor behaviour from Mongo, and sorta fixed in 3.6 via the $[] operator (which is coming in Meteor 1.6.2), you should verify your apps aren't effected
But, $ probably isn't working as expected (in some cases)
$| Acts as a placeholder to update the first element that matches the query condition.
https://docs.mongodb.com/manual/reference/operator/update-array/#update-operators
Docs are correct, but consider this example:
