Debe crear su objeto de clave variable por separado, porque JS antes de ES2015 no permite nada más que cadenas constantes en la sintaxis literal del objeto:
var stuffID = 5
var stuff = {}; // create an empty object
stuff['stuff.' + stuffID] = 1; // and then populate the variable key
collection.update({
"id": id,
}, {
"$inc": stuff // pass the object from above here
}, ...);
EDITAR en ES2015, ahora es posible usar una expresión como clave en un objeto literal, usando [expr]: value
sintaxis, y en este caso también usando la interpolación de cadena de acento grave ES2015:
var stuffID = 5;
collection.update({
"id": id,
}, {
"$inc": {
[`stuff.${stuffID}`]: 1
}
}, ...);
El código anterior funciona en Node.js v4+