Я хочу найти пользователя, чья модель содержит массив городов (например: [Мадрид, Лондон, Москва, Буэнос-Айрес и т. Д.])
Это модель:
var UserSchema = Schema({
name: String,
surname: String,
userName: String,
email: String,
password: String,
rol: String,
suscriptionDate: Date,
cities:[String],
citiesPopulate:[]
});
После того, как я нашел пользователя, я хочу перебрать этот массив, чтобы использовать каждый город в качестве параметра, чтобы найти информацию, имеющуюся у меня в модели City, просто для добавления координат в user.citiesPopulate
function findUsersCities(req,res){
let id=req.body._id;
User.findById(id,function(err,userFound){
if(err){
console.log(err)
}else{
for(let i=0;i<userFound.cities.length;i++){
City.findOne({'city':userFound.cities[i]},function(err,citiesFound){
if(err){
console.log(err)
}else{
userFound.citiesPopulate.push(citiesFound.coords);
console.log(userFound)
}
})
}
}
})
}
И как только вся информация о каждом отдельном городе была добавлена в userFound.citiesPopulate (сейчас это просто массивы с парой координат), я хочу использовать res.status (200).отправить ({userFound}) , чтобы увидеть результат на моей консоли почтальона, что-то вроде этого (три города и три пары координат):
{ cities: [ 'Bilbao', 'Madrid', 'Barcelona' ],
citiesPopulate: [ [ -3.68, 40.4 ], [ -2.97, 43.25 ], [ 2.18, 41.38 ] ],
_id: 5c82c2e5cfa8d543d0133dd6,
name: 'pruebas35',
surname: 'pruebas35',
userName: 'pruebas35',
email: 'pruebas35@prueba.es',
password: '$2a$10$eSue5gw7r4dFPtwD8qzJhODcvvNFaRkeQYRAOPO9MCBsy3Djhkffq',
rol: 'user',
suscriptionDate: 2019-03-08T19:30:45.075Z,
__v: 0 }
Но если я наберу res.статус в цикл, он отправлен, и я не могу получить всю информацию.
Я хотел бы узнать решение для этого, пожалуйста.