4

MySQL のデータ型の一部が MongoDB にないのを見ましたが、そうですか?

MySQL と MongoDB のデータ型の比較を教えてください。

4

1 に答える 1

5

MySQL は MongoDB よりも多くのデータ型を持っています。これは主に、より多くのデータ型をサポートするためです。

最初に理解しておくべきことは、標準の文字列または整数ではないすべての「データ型」は通常、ラッパーまたはオブジェクトのカプセル化を必要とするということです。

ここでの良い例は日付です。MySQLでは、、などがありますがDATETIME、MongoDB では.DATEYEARTIMESTAMPISODate()

単純な変換表は実際には存在しませんが、基本的なものを掘り出そうとします.

: 不明な理由により、MongoDB のドキュメントでは実際に利用可能なデータ型の完全なリストを削除したため、用語集に隠されているこのリストを少し検索する必要がありました: http://docs.mongodb.org/manual/reference /glossary/#term-bson-types

そのリストを見て最初に気付くのは、「オブジェクト」や「配列」など、MySQL にはネイティブに存在しないデータ型がたくさんあることです。

  • BinaryMySQL で呼び出されることもありBLOB、通常は次の方法でアクセスされます。{d: new BinData($b)}
  • ObjectIdMongoDB が主キー型に使用する特別な MongoDB データ型です。
  • StringVARCHAR、、および MySQL で組み合わされた他のすべての文字列型であり、通常は のように使用さTEXTれます。LONGTEXT{d: 'lalalaalala'}
  • Boolean通常、MySQL ではBOOLまたはとして知られてTINYINT(1)おり、基本的には次のように使用されます{d:true}
  • DateTIMESTAMPDATEDATETIMEYEARおよび MySQL の他のすべての日付型として知られており、次のように使用されます。{d: new ISODate()}
  • 32 ビット整数は、MYSQL やその他の小さい整数データ型では 、 、 などと呼ばれることがあり、次のように使用さTINYINT(11)INTEGERますINTSMALLINT{d:5}
  • 64 ビット整数は、MySQL では および と呼ばれることがあり、次のように使用されますMEDIUMINTBIGINT{d:new NumberLong("4")}
  • NULLNULLMySQLでよく使用され、次のように使用されます{d:null}
  • Timestampは公に使用するものではないので、それについては触れません。
  • DoubleMySQL に関連してDECIMALおり、同様に使用できますが、精度のため、float と double を整数として保存することをお勧めします。FLOAT{d:0.5}

そして、それはあなたが知る必要がある主なものをカバーしていると思います.

かなりありますので、お役に立てば幸いです。

于 2013-03-26T18:17:30.180 に答える