这是你存储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"
}
所以我们如何明白使用它。
当用户想要提款时,我们需要能够获得他们要求提款的汇率。
如果用户有两种类型的货币,我们还需要能够进行实时转换率更改,并说默认为澳元并且他们以美元付款,然后我们需要转换它,或者如果他们没有足够的美元他们有澳元,然后我们需要进入澳元并兑换一些以支付剩余的费用。
答案 0 :(得分:1)
此处需要考虑几个问题:使用ID&多个集合
使用ID
您的数据格式似乎已关闭。请在currentExchange
集合中考虑以下内容:
"_id" : "AUD",
"NZD": { "rate": "1.2879", "updated": "8: 42pm" },
"USD": { "rate": "0.9777", "updated": "8: 42pm" },
...
这将是最容易查询的布局。
多个收藏
您需要将currentExchange
和exchangeHistory
划分为两个集合。您希望currentExchange
保持较小并且它将利用不同的索引。
在设计时,您的文档会变得非常大,然后会失败。