listAndCountCategories - Product Module Reference
BetaThis documentation provides a reference to the listAndCountCategories method. This belongs to the Product Module.
This method is used to retrieve a paginated list of product categories along with the total count of available product categories satisfying the provided filters.
Example
To retrieve a list of product categories using their IDs:
import {
initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveCategories (ids: string[]) {
const productModule = await initializeProductModule()
const [categories, count] = await productModule.listAndCountCategories({
id: ids
})
// do something with the product category or return it
}
To specify relations that should be retrieved within the product categories:
import {
initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveCategories (ids: string[]) {
const productModule = await initializeProductModule()
const [categories, count] = await productModule.listAndCountCategories({
id: ids
}, {
relations: ["parent_category"]
})
// do something with the product category or return it
}
By default, only the first 15
records are retrieved. You can control pagination by specifying the skip
and take
properties of the config
parameter:
import {
initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveCategories (ids: string[], skip: number, take: number) {
const productModule = await initializeProductModule()
const [categories, count] = await productModule.listAndCountCategories({
id: ids
}, {
relations: ["parent_category"],
skip,
take
})
// do something with the product category or return it
}
You can also use the $and
or $or
properties of the filter
parameter to use and/or conditions in your filters. For example:
import {
initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveCategories (ids: string[], name: string, skip: number, take: number) {
const productModule = await initializeProductModule()
const [categories, count] = await productModule.listAndCountCategories({
$or: [
{
id: ids
},
{
name
}
]
}, {
relations: ["parent_category"],
skip,
take
})
// do something with the product category or return it
}
Parameters
The filters to apply on the retrieved product categories.
config
FindConfig<ProductCategoryDTO>The configurations determining how the product categories are retrieved. Its properties, such as select
or relations
, accept the
attributes or relations associated with a product category.
config
FindConfig<ProductCategoryDTO>select
or relations
, accept the
attributes or relations associated with a product category.sharedContext
ContextA context used to share resources, such as transaction manager, between the application and the module.
sharedContext
ContextReturns
The list of product categories along with their total count.
Was this section helpful?