如何在mongodb shell中执行整数运算?

时间:2014-03-26 18:38:28

标签: mongodb mongo-shell

有没有办法在MongoDB的mapreduce Javascript或shell中的两个NumberInt或NumberLongs上执行整数运算?如你所见,我得到:

> typeof (NumberInt(1) + NumberInt(1))
number

# (and this is here sort of just to gripe)
> NumberLong(2) == NumberInt(2)
false
> 2==NumberLong(2)
true
> 2==NumberInt(2)
true

相关:

1 个答案:

答案 0 :(得分:1)

由于这些实际上是对象,请使用他们的方法:

var num1 = NumberLong(2);
var num2 = NumberInt(2);

num1.toNumber() == num2.toNumber()

将返回true。以同样的方式:

var num1 = NumberLong(2);
var num2 = NumberInt(3);

num1.toNumber() == num2.toNumber()

返回false,因为它们不相等:

num1.toNumber() < num2.toNumber()

也有效true

所以你基本上需要使用这种方法以这种方式进行投射。