Почему одна из двух переменных не определена? - PullRequest
0 голосов
/ 04 января 2019

После выполнения асинхронного вызова одно из значений объекта ответа остается неопределенным.

Я создаю небольшой API для отдыха с помощью express и mongodb (mongoose). Я застрял с этим асинхронным вызовом:

app.get('/stuff/:explotacio', async (req,res) =>{
  const myExplotacio = await Explotacio.findById(req.params.explotacio);  
  console.log('explotacio ',myExplotacio);     
  const {lat,lon} = myExplotacio;
  console.log('lon',lon);  
  const processed = doOtherStuff(lat,lon);
  res.send(processed);
}

Значение myExplotacio console.log таково:

expotacio { parceles: [],
                _id: 5c2fa88b1c9d440000d3e970,
                 lat: 41.931433,
                 lon: 2.250807,
                 nom: 'casa' }

Значение lon console.log равно

lon undefined

Эскема для explotacio:

const ExplotacioSchema = new Schema({
  nom:{
      type: String,
      required: true
  },
  long:{
      type:Number
  },
  lat:{
      type:Number
  },
  parceles:[{type:Schema.Types.ObjectId,ref:"Parcela"}]
});

что сводит меня с ума, так это то, что "lat" имеет значение, но "lon" остается неопределенным. Когда console.log (myExplotacio) я могу видеть значение как lat, так и lon !!

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