Why can’t I convert this int to String in JavaScript?

  Kiến thức lập trình

So I’m pulling an array of collections from mongoDB and one of the documnets in the collection is a “price” document saved in the DB as a number (int32).

const hotAssets = await Asset.find({ hotAsset: true });

Now I feed the array to a function that converts the price documnet to String and add commas every 3 numbers. The weird thing is that the documnet just won’t convert no matter what I do.

The function call

Utils.assetPriceToString(hotAssets);

The function

exports.assetPriceToString = (assetsArray) => {
  for (const asset of assetsArray) {
    if (asset.price) asset.price = asset.price.toString().replace(/B(?=(d{3})+(?!d))/g, ',');
  }
};

example of a collection

{
    location: {
      coordinates: [Array],
      title: 'Central Park Burgas',
      type: 'Point'
    },
    _id: new ObjectId('66420dbd1ada8e8e709e30a7'),
    id: 3698,
    name: 'new flat',
    slug: 'new-flat',
    price: 120000,
    project: 'Central Park Burgas',
    city: 'Burgas',
    type: 'דירה',
    sm: '82 מ"ר',
    oceanView: '',
    rooms: '2',
    bathrooms: 1,
    terraces: '1',
    floor: '18 מ 20',
    readiness: '',
    serviceTax: '',
    description: 'some descriptin', 
    year: 2008,
    mainImage: '/img/asset1.jpg',
    images: [
      '/img/asset1.jpg',  '/img/asset2.jpg',
      '/img/asset3.jpg',  '/img/asset4.jpg',
      '/img/asset5.jpg',  '/img/asset6.jpg',
      '/img/asset7.jpg',  '/img/asset8.jpg',
      '/img/asset9.jpg',  '/img/asset10.jpg',
      '/img/asset11.jpg', '/img/asset12.jpg',
      '/img/asset13.jpg', '/img/asset14.jpg',
      '/img/asset15.jpg', '/img/asset16.jpg',
      '/img/asset17.jpg', '/img/asset18.jpg',
      '/img/asset19.jpg', '/img/asset20.jpg',
      '/img/asset21.jpg', '/img/asset22.jpg',
      '/img/asset23.jpg'
    ],
    hotAsset: true,
    updated_at: 2024-05-13T12:55:24.545Z,
    __v: 0,
    priceNis: 482027
  }

Iv’e tried hard coding another array with objects that have “price” variables and it worked fine.

Iv’e tried to convert using asset.price = String(asset.price) or asset.price = ” + asset.price but it did not convert.

Please help.

Tried to convert number to string but it just won’t convert.

LEAVE A COMMENT