Error de conversión de tipo db Dynamo ValidationException: un valor proporcionado no se puede convertir en un número

Tengo una consulta de dínamo dinamo como esta. Que ejecuto para agregar datos a dos tablas diferentes y esta pregunta es la continuación de la primera pregunta. Usando batchWriteItem en dynamodb

var createuser = { "RequestItems": { "users": [ { "PutRequest": { Item: { "userid": { "N": "usrid" }, "role": { "S": 'candidate' }, "password": { "S": vucrypt.encryptpass(pass) } } } } ], "candidate": [ { "PutRequest": { Item: { "fname": { "S": req.body.fname }, "lname": { "S": req.body.lname }, "location": { "S": req.body.location }, "phone": { "S": req.body.phone }, "ccode": { "S": req.body.ccode }, "grad": { "S": req.body.grad }, "pgrad": { "S": req.body.pgrad }, "ograd": { "S": req.body.ograd }, "experience": { "N": "10" }, "linkedin": { "S": req.body.linkedin }, "terms": { "S": tandc } } } } ] } } 

Cuando excicuto este código, obtengo un error como este.

 ValidationException: A value provided cannot be converted into a number 

Lo intenté con esto.

 var exps = Number(exp); 

Pero aún así, este error persiste, ¿qué puedo hacer? ¿alguna idea?

Mi código es así.

  dynamodb.batchWriteItem(createuser, function(err, regdata) { vulog.debug(regdata); if (err || !regdata || regdata.Responses.UnprocessedItems) { vulog.warn('ddb: error in checking corp user details1 \n' + err); res.send(400, 'Unable to register at present, please try later'); return; } vulog.debug('Candidate added successful'); res.send(200, 'Success! Your account has been created.\n Check your email for further instructions.'); }); 

Todos los valores deben ser cadenas:

por ejemplo :

 "fname": { "S": req.body.fname } 

req.body.fname debe ser una cadena

así que solo agrega

 req.body.fname + "" 

O

req.body.fname.toString ();