> db.data.update({'name': 'zero'}, {'$set': {'value': 0}})
> db.data.findOne({'name': 'zero})
{'name': 'zero', 'value': 0.0}
如何让 Mongo 插入一个整数?
谢谢
db.data.update({'name': 'zero'}, {'$set': {'value': NumberInt(0)}})
您也可以使用 NumberLong。
一个稍微简单的语法(至少在 Robomongo 中)对我有用:
db.database.save({ Year : NumberInt(2015) });
getRawPhoneNumber(phoneNumber: string) { let phNumber = phoneNumber.replace(/[^0-9+]/g, ''); return NumberInt(phNumber); }
,上面写着 找不到NumberInt
如果值类型已经是 double,那么在使用 NumberInt() 或 NumberLong() 函数时,使用 $set 命令更新值不能将值类型 double 更改为 int。因此,要更改值类型,它必须更新整个记录。
var re = db.data.find({"name": "zero"})
re['value']=NumberInt(0)
db.data.update({"name": "zero"}, re)
$set
至少在 Mongo 4.2 中有效,所以这可能是一个错误。
嗯,它是 JavaScript,所以你在 'value' 中拥有的是一个数字,它可以是整数或浮点数。但是 JavaScript 并没有真正的区别。从 Learning JavaScript:
数字数据类型 JavaScript 中的数字数据类型是浮点数,但它们可能有也可能没有小数部分。如果它们没有小数点或小数部分,它们将被视为整数 - 以 10 为底的整数,范围为 –253 到 253。