1

例如,在 MySQL 中,您有 varchar、int 等数据类型。我在 Google 上搜索并找到了http://docs.mongodb.org/manual/core/document/#bson-types页面。似乎对于字符串,您只需使用 '' 或 ""。整数似乎可以在不指定类型的情况下自动识别。在 Perl 中将这样的东西插入到 mongoDB 集合中会是什么样子?

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

我想要在数据库中指定数据类型的原因是我可以使用运算符来比较数字。如果是文本,我不能这样做。到目前为止,我在 Perl 中思考:

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

在上面的代码中,我不确定如何指定数据类型。例如告诉 Weight 是 Double 而不是整数或字符串。

4

2 回答 2

1

对于数字类型,Perl MongoDB 驱动程序将使用 Perl 认为的数字。Perl 有一个内部标志,用于跟踪某个东西是浮点数还是整数。MongoDB 驱动程序将使用 32 位或 64 位整数,具体取决于您的平台。如果它看起来像 Perl 的字符串,它将作为字符串存储在 MongoDB 中。

对于日期类型,您需要将日期包装在DateTime对象中,如果使用属性,则需要DateTime::Tiny 。dt_type

于 2013-01-17T19:49:13.193 回答
1

在 Perl MongoDB 驱动程序中使用 Looks_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 回答