存储货币交换是MongoDB

时间:2012-06-06 00:55:28

标签: php json mongodb currency

这是你存储mongoDB货币汇率的方式吗? 它确实适用于我们,但是我看到一些限制,如果我们很难进行日期/时间搜索而不是我们将要做的就是分割日期和时间,然后将它放在选择下拉菜单中

请告诉我你的意见。

{
   "currentexchange": {
     "0": {
       "to": "NZD",
       "rate": "1.2879",
       "updated": "8: 42pm" 
    },
     "1": {
       "to": "USD",
       "rate": "0.9777",
       "updated": "8: 42pm" 
    },
     "2": {
       "to": "KWD",
       "rate": "0.2739",
       "updated": "8: 42pm" 
    },
     "3": {
       "to": "GBP",
       "rate": "0.6354",
       "updated": "8: 42pm" 
    } 
  },
   "exchangehistory": {
     "2012-06-06T09: 51: 25+10: 00": {
       "0": {
         "to": "NZD",
         "rate": "1.2875" 
      },
       "1": {
         "to": "USD",
         "rate": "0.9768" 
      },
       "2": {
         "to": "KWD",
         "rate": "0.2742" 
      },
       "3": {
         "to": "GBP",
         "rate": "0.6351" 
      } 
    },
     "2012-06-06T10: 00: 09+10: 00": {
       "0": {
         "to": "NZD",
         "rate": "1.288" 
      },
       "1": {
         "to": "USD",
         "rate": "0.9774" 
      },
       "2": {
         "to": "KWD",
         "rate": "0.2743" 
      },
       "3": {
         "to": "GBP",
         "rate": "0.6354" 
      } 
    },
     "2012-06-06T10: 15: 07+10: 00": {
       "0": {
         "to": "NZD",
         "rate": "1.2878" 
      },
       "1": {
         "to": "USD",
         "rate": "0.978" 
      },
       "2": {
         "to": "KWD",
         "rate": "0.274" 
      },
       "3": {
         "to": "GBP",
         "rate": "0.6357" 
      } 
    },
     "2012-06-06T10: 30: 10+10: 00": {
       "0": {
         "to": "NZD",
         "rate": "1.2873" 
      },
       "1": {
         "to": "USD",
         "rate": "0.977" 
      },
       "2": {
         "to": "KWD",
         "rate": "0.2737" 
      },
       "3": {
         "to": "GBP",
         "rate": "0.6352" 
      } 
    },
     "2012-06-06T10: 45: 08+10: 00": {
       "0": {
         "to": "NZD",
         "rate": "1.2879" 
      },
       "1": {
         "to": "USD",
         "rate": "0.9777" 
      },
       "2": {
         "to": "KWD",
         "rate": "0.2739" 
      },
       "3": {
         "to": "GBP",
         "rate": "0.6354" 
      } 
    } 
  },
   "from": "AUD" 
}

所以我们如何明白使用它。

当用户想要提款时,我们需要能够获得他们要求提款的汇率。

如果用户有两种类型的货币,我们还需要能够进行实时转换率更改,并说默认为澳元并且他们以美元付款,然后我们需要转换它,或者如果他们没有足够的美元他们有澳元,然后我们需要进入澳元并兑换一些以支付剩余的费用。

1 个答案:

答案 0 :(得分:1)

此处需要考虑几个问题:使用ID&多个集合

使用ID

您的数据格式似乎已关闭。请在currentExchange集合中考虑以下内容:

"_id" : "AUD",
"NZD": { "rate": "1.2879", "updated": "8: 42pm" },
"USD": { "rate": "0.9777", "updated": "8: 42pm" },
 ...

这将是最容易查询的布局。

多个收藏

您需要将currentExchangeexchangeHistory划分为两个集合。您希望currentExchange保持较小并且它将利用不同的索引。

在设计时,您的文档会变得非常大,然后会失败。