【问题标题】:Architecting a Mongodb lottery app with bets and jackpots in different currencies使用不同货币的投注和累积奖金构建一个 Mongodb 彩票应用程序
【发布时间】:2014-04-30 18:27:25
【问题描述】:

我正在使用 MongoDB/Mongoose 设计一个 nodejs 彩票应用程序;它目前适用于假钱。

我希望用户能够继续在“沙盒”中使用假币下注,但我也希望允许用户使用 1 种以上的货币,每种货币都有不同的累积奖金。

我正在寻找在 MongoDB 中构建它的最佳方式:

一些可能性:

  1. 为每种货币使用完全独立的数据库。用户必须为每种货币拥有一个帐户。不理想。

  2. 有 'bet'、'jackpot' 等。模式有一个 'currency' 字段。可能最简单,但不确定这是否是一种关系思维方式。感觉不是特别优雅。

  3. 有 2 个独立的“投注”和“大奖”数据库,但有一个包含“用户”信息的共享数据库。由于我确实多次使用“填充”,这可能可行,也可能不可行。

感谢您对此的任何想法。

【问题讨论】:

  • 顺便问一下:你知道MongoDB在处理金钱方面是一个冒险的选择吗,因为MongoDB不支持交易?

标签: node.js mongodb architecture database nosql


【解决方案1】:

当您希望将每种货币的彩票分开时,您可以将它们放在同一个数据库中,但每种货币的集合不同。这样您就可以轻松确定哪些数据与货币无关(如用户帐户),哪些数据与货币有关(如投注)。

但请记住,任何获取不同货币彩票数据的查询都会变得更加复杂,因为您一次只能查询一个集合。当您需要大量此类查询时(例如,当用户有一个仪表板时,他可以在其中看到他当前参与的所有彩票,无论货币如何),您应该选择带有货币字段的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-14
    • 2014-08-21
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 2021-02-25
    • 2014-01-27
    • 1970-01-01
    相关资源
    最近更新 更多