Я новичок в React и Apollo, примененных к MongoDB, и у меня следующая проблема:
У меня есть таблица, где у меня есть (ID - ID_A - ID_B), я сделал запрос для этого и возвращает мне массив. После этого мне нужно запросить в другой таблице для каждого компонента в массиве совпадение с ID_A.
Итак, я сделал:
{this.props.firstGet.map((data, index) => {
const id = data.ID_A;
return (
<Query key={this.props.firstGet.id} query={QUERY} variables={{ id }}>
{({ loading, error, data }) => {
if (loading) return 'Loading...';
if (error) return `Error ${error.message}`;
this.test = this.test.concat({...data.getStartup, ...this.state.applicants[index]});
return(this.test.length === this.props.getApplicants.length ?
<LastTable startups={this.test}></LastTable>
: '')
}
}
</Query>
);
Какой метод лучше всего подходит для моей проблемы?
Мне нужен первый массив с составным для каждого объекта с ответом второй таблицы.
Есть ли способ сделать это непосредственно в основное состояние, не используя, например, LastTable?
Как я решаю это:
1) Добавление в схему MainTable MongoDB:
ID_A: {
type: mongoose.Schema.ObjectId,
ref: 'Table1'
}
2) В графе QQ Shcema: ID_A: Table1Object
3) Добавление .populate ('ID_A') в распознаватель
Сейчас попробую вставить новый, возможно у меня проблемы, но если с идентификатором в этом поле MainTable ID_A соединение работает отлично