La syntaxe des littéraux de chaîne dans les noms de champ d'objet vous mord ici. Pour le contourner, créez un objet intermédiaire et construisez-le sans utiliser de littéraux :
var this_key = 'test';
var push = {};
push[this_key] = 'value'; // here, it will use the variable
mongoose.model('members', Schema).update(
{ id: '0' }, {$push: push} , [], function (err, data){});