После выполнения асинхронного вызова одно из значений объекта ответа остается неопределенным.
Я создаю небольшой 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 !!