最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在nodejs中使用mysql的命名约定建议[保持]

运维笔记admin14浏览0评论

在nodejs中使用mysql的命名约定建议[保持]

在nodejs中使用mysql的命名约定建议[保持]

请给我您的指导。

我正在使用带有mysql数据库的节点(不使用orm)。

我使用mysql的snake_case命名约定。

我的问题是:

在节点中,我应该使用snake_case还是使用camelCase?

例如在models / movie.js:

snake_case:

return db.execute(SELECT title, daily_rental_rate FROM movies);

结果发送给客户:

{
title: 'abc',
daily_rental_rate: 20
}

camel_case:

return db.execute(SELECT title, daily_rental_rate as dailyRentalRate FROM movies);

结果发送给客户:

{
title: 'abc',
dailyRentalRate: 20
}

非常感谢您//

回答如下:

JSON大小写没有固定的约定,但是大多数API倾向于使用camelCase作为属性,包括Google,请参见其样式指南here。

您还可以在JavaScript中映射对象属性,您不必在查询中手动执行此操作。这使您可以相对灵活地使用外壳,如果以后要更改,甚至可以更改为kebab-case或snake_case。本示例使用lodash库转换对象大小写。

const _ = require("lodash");

function objectToCamelCase(obj) {
    return _.mapKeys(obj, (v, k) => _.camelCase(k))
}

let rows = db.execute("SELECT title, daily_rental_rate FROM movies");
console.log("Result (snake_case): ", rows);
rows = rows.map(objectToCamelCase);
console.log("Result (camelCase):", rows);

结果可能看起来像这样:

结果(snake_case):

[
    {
        "title": "The Shawshank Redemption",
        "daily_rental_rate": "€2.99"
    },
    {
        "title": "Ferris Bueller's Day Off",
        "daily_rental_rate": "€2.99"
    }
]

结果(camelCase):

[
    {
        "title": "The Shawshank Redemption",
        "dailyRentalRate": "€2.99"
    },
    {
        "title": "Ferris Bueller's Day Off",
        "dailyRentalRate": "€2.99"
    }
]
发布评论

评论列表(0)

  1. 暂无评论