【问题标题】:Keep business variables which should define by admin保留应由管理员定义的业务变量
【发布时间】:2020-12-07 16:20:12
【问题描述】:

我有一个多供应商项目,一些变量应该由管理员设置,例如当用户想要支付他/她的购物车时,应该指定费用并由系统管理员定义。 (这可能是时间的变化。) 那么保留这些变量的最佳方法是什么?

注意:
我正在使用 Nodejs 运行服务器,并且使用 MongoDB 作为数据库。

我有以下想法,在我看来有利有弊:

  • 将这些变量保存在文档中(在数据库中),我想这不好,因为我必须为每次付款(或需要这些变量的其他操作)向数据库发送请求。这些变量似乎是固定的,并且可以在一段时间后改变。我的意思是它不像用户个人资料信息那样可以改变 经常,当用户想要查看他/她的个人资料请求时,应将其发送到数据库。 (此外,创建仅用于存储文档的新集合似乎不太好)
  • 将此保存在 .env 文件中(作为环境变量),我认为我们将配置变量保存在此文件中(应用层,而不是为业务保留变量)并且更新此文件也不是数据库。

如果我犯了错误或有我不知道的常见方法,请注意我。 (我也搜索过,但找不到任何合适的关键字:()

【问题讨论】:

  • 您会考虑哪些费用?增值税?航运 ?其他事情 ?有多少个国家?也许你有不止一个,将它存储在你的数据库中可能会很好。它似乎比 .env 文件更合适。您仍然可以为每个用户/订单仅获取一次,并在需要时将其缓存。
  • 这是关于运输的,我同意你的看法,将来我需要不止一个,但在这种状态下它很好。你比较两个想法。这是我不知道的新方法,也许这很常见? @马洛

标签: software-design


【解决方案1】:

我的方法如下:

  • 如果业务管理员可以在正常操作过程中更新这些值 - 那么它们应该具有管理 UI 并存储在数据库中。费用就是一个很好的例子。

  • 如果值几乎没有变化;或由 IT 人员更改 - 将它们放入配置文件中。供应商 API 的端点或邮件服务器配置将在那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2023-02-12
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多