例如,在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
}
我想要在db中指定数据类型的原因是我可以使用运算符来比较数字。如果是文字我不能那样做。 到目前为止,我在想Perl:
$my_collection->insert({
'Name' : "$Name",
'Age' : $age,
'Weight':$weight,
'Dateofbirth': $datevar,
} );
在上面的代码中,我不确定如何指定数据类型。例如,告诉Weight是Double不是整数或字符串。
答案 0 :(得分:1)
对于数字类型,Perl MongoDB驱动程序将通过Perl认为的数字。 Perl有一个内部标志,用于跟踪某些内容是浮点数还是整数。 MongoDB驱动程序将使用32或64位整数,具体取决于您的平台。如果它看起来像是Perl的字符串,它将作为字符串存储在MongoDB中。
对于日期类型,您需要将日期包装在DateTime对象中,如果您使用dt_type
属性,则需要DateTime::Tiny。
答案 1 :(得分:1)
使用Perl MongoDB驱动程序中的looks_like_number参数
使用MongoDB :: BSON $ MongoDB :: BSON :: looks_like_number = 1;