Возникла проблема с возвратом территорий, связанных с их Компанией, при выполнении запроса для поиска всех Компаний. Когда компания создается, территория не устанавливается. Территории создаются отдельно.
связи / отношения являются «территориями» внутри Компании и «родительской компанией» в пределах Территории. При запуске getAllTerritories «parentCompany» заполняется правильно (я полагаю, это связано с тем, что вы выбрали parentCompany при создании территории.
Итак, я думаю, мой вопрос: Каков наилучший способ заполнить массив территорий в Company при выполнении запроса getAllCompanies?
Типы:
type Company {
_id: ID
state: String!
name: String
territories: [Territory]
createdAt: String
updatedAt: String
createdBy: User!
}
type Territory {
_id: ID
name: String
parentCompany: Company!
issues: [Issue]
prodAdmins: [ProdAdmin]
masterAgents: [MasterAgent]
createdAt: String
updatedAt: String
createdBy: User!
}
Запрос: getAllCompanies: [Company]
getAllCompanies: async (_, args, { Company, Territory }) => {
const companies = await Company.find({})
.sort({ createdAt: 'desc' })
.populate({
path: 'territories',
model: 'Territory',
})
.populate({
path: 'createdBy',
model: 'User',
});
return companies;
},
На схеме компании:
territories: {
type: [mongoose.Schema.Types.ObjectId],
ref: 'Territory',
},