как console.log () долготы и широты, которые хранятся в mongoDB через mongoose - PullRequest
0 голосов
/ 26 января 2020

я хочу получить lng лат отсюда.

**

router.get("/", function(req, res) {
  Map.find({}, function(err, doc) {
    if (err) {
      res.send(500, {
        error: err
      });
    }
    res.send(doc);
    doc.map((item,i)=>(
      console.log(item._id),
      console.log(JSON.stringify(item.data)),
      console.log(item.__v)
      ));

  });
});

**

Но здесь я получил значение id и __v, а не элементов данных. Я также попытался без JSON .strigify (), но снова потерпел неудачу.

Ответы [ 2 ]

1 голос
/ 26 января 2020

Если я понимаю ваш вопрос, вы правильно получаете значения свойств ._id и .__v, но вам нужны значения lng и lat. Эти свойства скрыты внутри двух вложенных массивов.

У вас есть это:

doc.map((item,i)=>(
  console.log(item._id),
  // console.log(JSON.stringify(item.data)),
  console.log(item.__v)
));

, которое, как вы говорите, действительно получает item._id и item.__v соответственно. Если это так, то вы должны получить доступ к массиву data. Например, первый lng, lat, который вы показываете на этом скриншоте:

enter image description here

будет:

doc.forEach(item => {
  console.log(item._id),
  console.log(item.__v)
  console.log(item.data[0].paths[0].lng);
  console.log(item.data[0].paths[0].lat);
});

Показать все значения в этих массивах, вам нужно будет перебрать оба вложенных массива.

doc.forEach(item => {
  console.log(item._id),
  console.log(item.__v)
  item.data.forEach(obj => {
      obj.paths.forEach(data => {
          console.log(data.lat, data.lng);
      });
  });
});
0 голосов
/ 27 января 2020

**

router.get("/", function(req, res) {
      Map.find({"_id":'place_your_id_here'}, function(err, doc) {
        if (err) {
          res.send(500, {
            error: err
          });
        }
        res.send(doc);
        doc.map((item,i)=>(
          console.log(item._id),
          console.log(JSON.stringify(item.data)),
          console.log(item.__v)
          ));

      });
    });

** вам просто нужно ввести _id коллекции, что я не упоминался здесь, и это была моя ошибка, и теперь Alhamdullilah решен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...