在MongoDB中,在同一字段中混合使用长整数和正整数可以吗?

在MongoDB中,在同一字段中混合使用长整数和正整数可以吗?,mongodb,Mongodb,我一直在使用Morphia从Java持久化对象。我还从控制台运行了一些批处理过程。我刚刚意识到,有些值现在存储为NumberLong,而number存储为普通Javascript数字 我有这个字段的索引。一切似乎都正常-如果我查询:{f:100} 即使对象实际包含{f:NumberLong(100)} 所有的司机都是这样吗?避免使用数字是最好的做法,长是我可以在32位内拟合值吗?如果我将所有numberlong转换为基本数字,是否会节省大量数据和索引空间?普通JavaScript数字是64位浮点

我一直在使用Morphia从Java持久化对象。我还从控制台运行了一些批处理过程。我刚刚意识到,有些值现在存储为NumberLong,而number存储为普通Javascript数字

我有这个字段的索引。一切似乎都正常-如果我查询:
{f:100}
即使对象实际包含
{f:NumberLong(100)}


所有的司机都是这样吗?避免使用数字是最好的做法,长是我可以在32位内拟合值吗?如果我将所有numberlong转换为基本数字,是否会节省大量数据和索引空间?

普通JavaScript数字是64位浮点(双精度),占用8个字节,因此节省空间不是这样做的原因。保持值的一致性可能是有价值的,并且在不同的数值类型之间存在权衡。如果需要32位整数,shell中有一个类型(numberprint)。驱动程序通常尝试将内容映射到驱动程序的语言中,但驱动程序之间的功能尽可能匹配。

普通JavaScript数字是64位浮点(双精度),占用8个字节,因此节省空间不是这样做的原因。保持值的一致性可能是有价值的,并且在不同的数值类型之间存在权衡。如果需要32位整数,shell中有一个类型(numberprint)。驱动程序通常试图将内容映射到驱动程序的语言中,但驱动程序之间的功能尽可能匹配