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