如何通过JavaScript shell将8字节整数插入MongoDB?

如何通过JavaScript shell将8字节整数插入MongoDB?,mongodb,Mongodb,根据“MongoDB-最终指南” JavaScript只有浮点类型,而MongoDB有4字节整数、8字节整数和8字节浮点 默认情况下,所有数字都将被视为双精度 当我尝试插入一个整数时,我得到以下结果: > n = {"myInteger" : 3 }; { "myInteger" : 3 } > db.num.insert(n); > n = db.num.find(); { "_id" : ObjectId("4eeee1e5b593471ba54

根据“MongoDB-最终指南”

  • JavaScript只有浮点类型,而MongoDB有4字节整数、8字节整数和8字节浮点
  • 默认情况下,所有数字都将被视为双精度
当我尝试插入一个整数时,我得到以下结果:

> n = {"myInteger" : 3 };    
{ "myInteger" : 3 }    
> db.num.insert(n);
> n = db.num.find();    
{ "_id" : ObjectId("4eeee1e5b593471ba5461577"), "myInteger" : 3 }
基于上述情况,我有以下问题:

  • 如何通过JavaScript将8字节整数插入MongoDB
  • 如何通过JavaScript检查上面显示的myInteger值的类型
  • 如何检查存储在MongoDB中的myInteger值的类型
如何通过JavaScript将8字节整数插入MongoDB

你可以用

n = {"myLong" :  new NumberLong("123212313")};

+1问你的其他问题,因为这看起来很棘手。您可以执行NumberLong的实例,但这对4字节的数字不起作用,它们都只是JS“number”。Thilo:当我从MongoDB检索值时,数据显示为{“myInteger”:NumberLong(3)},而不是{“myInteger”:{“FloatAbout:3}书中给出了这一点。MongoDB中有两种存储8字节整数的方法吗?[来自MongoDB.org]在版本1.6之前,shell将显示{“floatApprox”:3},但从1.6开始,shell将显示NumberLong(3)。