MongoDB добавляет .0 в конце числа и превращает поле в число

Задача следующая мне нужно обновлять данные по товарам каждый день в цикле по старым товарам я прохожусь циклом по новым товарам, и в случае совпадения определенных полей я перезаписываю значения свойств

у меня есть свое поле id, и вот его я не меняю при этом из числа, оно автоматически превращается в строку и в конце добавляется .0

вот код

oldProducts.forEach(oldProductObj => {
  newProducts.forEach((newProductObj, idxNew) => {
    if (oldProductObj.name === newProductObj.name
      && oldProductObj.color === newProductObj.color
      && oldProductObj.gender === newProductObj.gender) {
      Object.keys(oldProductObj).forEach(key => {
        if (newProductObj[key] && key !== 'id') oldProductObj[key] = newProductObj[key]
      })
      products.push(oldProductObj)
      newProducts.splice(idxNew, 1)
    }
  })
})
products.push(...newProducts)

вот что я получаю в монге скрин

я пробовал id преваращать в строку и реплейсить эту точку с нулём, перепроверял, в монгу точно передаётся число - почему это происходит? как исправить?


Ответы (0 шт):