DynamoDB: UpdateItem, Ignorar valores nulos en ExpressionAttributeValues

Estoy usando DynamoDBUpdateItem para actualizar registros en mi base de datos. Una función básica como esta está funcionando para mí.

var user = {
    userID: '123213',
    name: 'John Doe',
    age: 12,
    type: 'creator'
};
var params = {
    TableName:table,
    Key:{
        "UserID": user.userID
    },
    UpdateExpression: "set Name = :r, Age=:p, Type=:a",
    ExpressionAttributeValues:{
        ":r":user.name,
        ":p":user.age,
        ":a":user.type
    },
    ReturnValues:"UPDATED_NEW"
};

docClient.update(params, function(err, data) {
    if (err) {
        console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
    } else {
        console.log("UpdateItem succeeded:", JSON.stringify(data, null, 2));
    }
});

Pero...

Si solo quisiera actualizar un atributo, el nombre, así:

 var user = {
        userID: '123213',
        name: 'John Smith'
    };
var params = {
    TableName:table,
    Key:{
        "UserID": user.userID
    },
    UpdateExpression: "set Name = :r, Age=:p, Type=:a",
    ExpressionAttributeValues:{
        ":r":user.name,
        ":p":user.age,
        ":a":user.type
    },
    ReturnValues:"UPDATED_NEW"
};

Me da el error de que

ExpressionAttributeValues no puede ser NULL.

Sé que podría producir dinámicamenteUpdateExpression Cadena al verificar los valores en el usuario, así:

for (var key in user) {
  if (user.hasOwnProperty(key)) {
    ...add to DynamicUpdateExpression..
  }
}

pero ¿hay alguna manera de decirle a updateItem que ignore los valores nulos y solo actualice elname?

Respuestas a la pregunta(2)

Su respuesta a la pregunta