fields can be an object with various decrement values, eg `{ field1: 1, field2: 2 }. In that case we have to reverse the sign of each before we call increment. The last test case covers this.