That's just a Javascript issue - nothing due to Cradle. You can't do this to set a dynamically named prop:
{
req.body.key: req.body.value
}
You'll need to do this like so:
var temp = {}
temp[req.body.key] = req.body.value
db.merge('document', temp, ...