res*_*ode 8 mongoose mongodb node.js
我正在使用MongoDB与本机节点驱动程序,并需要准确存储可能大于int最大值2147483647的数字.我将需要能够增加数字,因为我正在跟踪使用情况.我有什么选择?
我正在使用猫鼬.我遇到的问题是,当我$inc通过2147483647时,它会将数字转换为double.如何强制Mongoose使用64位长的int NumberLong?
我的架构看起来像这样
var schema = new Schema({
...
usedBandwidth: {type: Number, min: 0, default: 0}
});
Run Code Online (Sandbox Code Playgroud)
我$inc看起来像这样
model.Account.update(
{_id: this.account},
{$inc: {usedBandwidth: this.size}},
function (err, doc) {}
);
Run Code Online (Sandbox Code Playgroud)
您现在可以使用mongoose-long插件在Mongoose中执行此操作.
require('mongoose-long')(mongoose);
var SchemaTypes = mongoose.Schema.Types;
var schema = new Schema({
...
usedBandwidth: {type: SchemaTypes.Long, min: 0, default: 0}
});
Run Code Online (Sandbox Code Playgroud)