> 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) });
Если тип значения уже двойной, то обновление значения с помощью команды $set не может изменить тип значения double на int при использовании функции NumberInt() или NumberLong(). Итак, чтобы изменить тип значения, он должен обновить всю запись.
var re = db.data.find({"name": "zero"})
re['value']=NumberInt(0)
db.data.update({"name": "zero"}, re)
Ну, это JavaScript, так что у вас в "значении" есть Number, который может быть целым или плавающим. Но в JavaScript нет никакой разницы. Из Изучение JavaScript:
Тип данных данных
Число типов данных в JavaScript - это числа с плавающей запятой, но они могут иметь или не иметь дробный компонент. Если они не имеют десятичной точки или дробной составляющей, theyre рассматривается как целые числа целых чисел-base-10 в диапазоне от -2 53 до 2 53.