# Entity Service API: Populating
The Entity Service API does not populate relations, components or dynamic zones by default.
# Basic populating
To populate all the root level relations, use populate: true
:
strapi.entityService('api::article.article').findMany({
populate: true,
});
Select which data to populate by passing an array of attribute names:
strapi.entityService('api::article.article').findMany({
populate: ['componentA', 'relationA'],
});
# Advanced populating
An object can be passed for more advanced populating:
strapi.entityService('api::article.article').findMany({
populate: {
componentB: true,
dynamiczoneA: true,
repeatableComponent: {
fields: ['fieldA'],
filters: {},
sort: 'fieldA:asc',
populate: false,
},
},
});
Complex populating can be achieved by using the filters
parameter and select or populate nested relations or components:
strapi.entityService('api::article.article').findMany({
populate: {
relationA: {
filters: {
name: {
$contains: 'Strapi',
},
},
},
repeatableComponent: {
fields: ['someAttributeName'],
orderBy: ['someAttributeName'],
populate: {
componentRelationA: true,
},
},
},
});