我将MongoDB与本机节点驱动程序一起使用,需要准确存储可能大于int最大值2147483647的数字。在跟踪使用情况时,我将需要能够增加数字。我有什么选择?
我正在用猫鼬。我遇到的问题是,当我$inc过去2147483647时,它会将数字转换为双精度。如何强制Mongoose使用64位long int NumberLong?
$inc
NumberLong
我的架构如下所示
var schema = new Schema({ ... usedBandwidth: {type: Number, min: 0, default: 0} });
我的$inc样子是这样
model.Account.update( {_id: this.account}, {$inc: {usedBandwidth: this.size}}, function (err, doc) {} );
您现在可以使用该mongoose-long插件在Mongoose中执行此操作。
mongoose-long
require('mongoose-long')(mongoose); var SchemaTypes = mongoose.Schema.Types; var schema = new Schema({ ... usedBandwidth: {type: SchemaTypes.Long, min: 0, default: 0} });