update fails if adding zero to number set
e.g. for
var uploadedFiles = vogels.define('UploadedFiles', {
hashKey: 'AccountId',
rangeKey: 'FileId',
timestamps: true,
schema: {
AccountId: Joi.string(),
FileId: Joi.string(),
FileName: Joi.string(),
Key: vogels.types.uuid(),
UploadId: Joi.string(),
Chunks: vogels.types.numberSet(),
},
tableName: 'UploadedFiles'
});
Fails when doing:
uploadedFiles.update({
AccountId: userParam.IdentityId,
FileId: dbKey,
Chunks: { $add : chunk },
},
function (error, data) {
if (error) {
context.fail(error);
}
else {
context.succeed(data);
}
});
if chunk=0 all other integers seem OK
InvalidSetType: Sets can contain string, number, or binary values at Set.util.inherit.detectType (/var/task/node_modules/aws-sdk/lib/dynamodb/set.js:30:24) at Set.util.inherit.initialize (/var/task/node_modules/aws-sdk/lib/dynamodb/set.js:14:10) at new Set (/var/task/node_modules/aws-sdk/lib/dynamodb/set.js:8:10) at DocumentClient.AWS.DynamoDB.DocumentClient.AWS.util.inherit.createSet (/var/task/node_modules/aws-sdk/lib/dynamodb/document_client.js:451:12) at Object.internals.createSet (/var/task/node_modules/vogels/lib/serializer.js:17:32) at Object.internals.serialize.numberSet (/var/task/node_modules/vogels/lib/serializer.js:52:22) at Object.internals.serializeAttribute.serializer.serializeAttribute (/var/task/node_modules/vogels/lib/serializer.js:94:22) at /var/task/node_modules/vogels/lib/expressions.js:70:44 at /var/task/node_modules/lodash/index.js:2523:13 at /var/task/node_modules/lodash/index.js:3073:15
get-around use: Chunks: { $add : [chunk] },