Как переопределить ключ объекта в массиве объектов, возвращаемых из mongodb? - PullRequest
0 голосов
/ 20 апреля 2019

Я не могу переопределить ключ для объектов в массиве, возвращенном из запроса mongodb ...

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

В основном я хочу, чтобы у меня был ключ типа obj.location.address, который может иметь значение типа wall street 34

Я хочу добавить регулярное выражение в строку, чтобыоно становится wall street

Я пытаюсь отобразить массив массивов objs и пытаюсь переопределить ключ значением результата, передаваемого через регулярное выражение ...

Но этоне работает ... Мой новый массив вместо того, чтобы быть массивом объектов, становится просто массивом строк со значениями obj.location.address, которые являются просто строками адресов, такими как wall street 34, что очень странно.

Мой код:

exports.mapUsers = async (req, res) => {
  const coordinates = [req.query.lng, req.query.lat].map(parseFloat);
  const q = {
    location: {
      $near: {
        $geometry: {
          type: 'Point',
          coordinates
        },
        $maxDistance: 10000 // 10km
      }
    }
  };

  const receivedUsers = await User.find(q).select('name location musicLinks genres photo slug skills').limit(10);

  const users = receivedUsers.map( obj => obj.location.address = obj.location.address.replace(/[0-9]/g, "").replace(/\s*,\s*/g, ", "))
  console.log(users)
  res.json(users)
};

1 Ответ

1 голос
/ 20 апреля 2019

Попробуйте сопоставить, как это.Надеюсь, это то, что вы ищете.

const users = receivedUsers.map(user => {
  user.location.address = user.location.address.replace(/[0-9]/g, "").replace(/\s*,\s*/g, ", ");
  return user;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...