def modify_record():

    "must be {<id>: {amount: <>, currency <>, alias: <>}}"
    data = request.get_json()
    id, values = data.items()[0]
    current_data = collection('savings').find({'_id': ObjectId(id)}).next()
    values.update({"modified": str(datetime.now())})
    current_data.update(values)
    current_data.update({'_id': id})
    collection('savings').update({'_id': ObjectId(id)}, consistent_saving(current_data))
    return jsonify(current_data), 201
def add_record():
    data = request.get_json()
    data.update({'user': request.authorization.username, 'date': str(datetime.now())})
    # clean data before saving
    log['POST savings'] = dumps(data)
    try:
        data = consistent_saving(data)
    except MissingDataException :
        log['POST savings Error'] = "request does not have enough data to complete the POST operation into '\savings'"
        return jsonify(data), 500
    rec_id = collection('savings').insert(data)
    log['POST savings success'] = str(rec_id)
    data.update({'_id': str(data['_id'])})
    return jsonify(data), 201