Для сопряжения данных с другой схемой на основе внешнего ключа на Node.js - PullRequest
0 голосов
/ 13 сентября 2018

Мои настройки: Node.js, экспресс, mongoose

Table1: product: {pid, name, region_id}

Table2: region: {rid, name}

Я хочу связать region_id с rid и вывести в виде результат , равный

[{pid: 1, name: 'apple', region_id: 3}, {pid: 2, name: 'orange', region_id: 4}, ...]

Каким образом мне следует реализоватьданные для передачи в представление ?Мне бы хотелось, чтобы результат был

[{pid: 1, name: 'apple', region_name: 'US'}, {pid:2, name: 'orange', region_name: 'UK'}, ...]

Я сейчас пишу функцию, но она не работает из-за проблемы с асинхронностью.Но идея ниже:

for(i = 0; i < results.length; i++){
    RegionDataSchema.findOne({'rid': results[i].region_id}, function (err, product) {
        if (product)
            results[i].region_name = product.region_name;
}});

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

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