1

たとえば、MySQLには、varchar、intなどのデータ型があります。グーグルで検索したところ、http://docs.mongodb.org/manual/core/document/#bson-typesページが見つかりました。文字列では、''または""を使用するようです。整数は、タイプを指定しなくても自動的に認識されるようです。このようなものをPerlのmongoDBコレクションに挿入するとどのようになりますか?

Example:
{
 "Name" : "John"
 "Age" :   20
 "Weight" : 180.5
 "Dateofbirth" : 01/01/1990
}

dbでデータ型を指定する理由は、たとえば演算子を使用して数値を比較できるためです。テキストの場合はできません。これまでのところ、Perlで考えています。

$my_collection->insert({
                        'Name' : "$Name",
                        'Age'  : $age,
                         'Weight':$weight,
                         'Dateofbirth': $datevar, 
                       } );

上記のコードでは、データ型を指定する方法がわかりません。たとえば、Weightが整数や文字列ではなくDoubleであることを示します。

4

2 に答える 2

1

数値型の場合、Perl MongoDB ドライバーは、Perl が認識した数値を使用します。Perl には、何かが float か int かを追跡するための内部フラグがあります。MongoDB ドライバーは、プラットフォームに応じて 32 ビットまたは 64 ビットの int を使用します。Perl にとって文字列のように見える場合は、MongoDB に文字列として格納されます。

日付型の場合は、日付をDateTimeオブジェクトでラップするか、属性を使用する場合はDateTime::Tinyでラップする必要があります。dt_type

于 2013-01-17T19:49:13.193 に答える
1

Perl MongoDB ドライバーで look_like_number パラメーターを使用する

MongoDB::BSON を使用 $MongoDB::BSON::looks_like_number = 1;

https://metacpan.org/pod/MongoDB::BSON#looks_like_number

于 2013-09-23T18:15:45.810 に答える