我在nodejs(x64)下使用mongodb 2.2.33
库并且无法增加字段:
it('increment-test', function () {
let db = repository.db;
return setup
.then(() => {
return db.collection('product').save({ name: 'product1', amount: 0 });
})
.then(() => {
return db.collection('product').update({},
{ $inc: { "amount": mongo.Long(5000000000000000) } });
})
.then(() => {
return db.collection('product').find({}).toArray();
})
.then((results) => {
assert.equal(results[0].amount, 5000000000000000);//fails
})
});
此测试失败;而不是5000000000000000
实际上是937459712
如何在NodeJS下使用它? mongo.Long
似乎是从NodeJS使用的正确类型,但不起作用。
如果您在使用大于Int32
的其他数字时想知道上述测试传递,例如3147483647
传递的最大数字是4294967296
2^32 -1