0

これは、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" 
}

では、これをどのように使用するかをわかりやすく説明します。

ユーザーがお金を引き出したい場合は、引き出しを要求した為替レートを取得できる必要があります。

また、ユーザーが2種類の通貨を持っていて、デフォルトがAUDであり、誰かに米ドルで支払っている場合、または十分な米ドルがなく、 AUD次に、AUDに浸り、残りの料金を支払うために一部を変換する必要があります。

4

1 に答える 1

1

ここで考慮すべきいくつかの問題があります:IDと複数のコレクションの使用

IDの使用

データ形式が間違っているようです。currentExchangeコレクションで次のことを考慮してください。

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

これは、クエリを実行するのに最も簡単なレイアウトになります。

複数のコレクション

2つのコレクションに分けたいcurrentExchangeと思うでしょう。を小さく保ち、さまざまなインデックスを活用する必要がありますexchangeHistorycurrentExchange

設計すると、ドキュメントが非常に大きくなり、失敗します。

于 2012-06-06T20:14:50.223 に答える