Skip to main content
Skip to main content

listCategories - Product Module Reference

Beta

This documentation provides a reference to the listCategories method. This belongs to the Product Module.

This method is used to retrieve a paginated list of product categories based on optional filters and configuration.

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 = await productModule.listCategories({
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 = await productModule.listCategories({
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 = await productModule.listCategories({
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 = await productModule.listCategories({
$or: [
{
id: ids
},
{
name
}
]
}, {
relations: ["parent_category"],
skip,
take
})

// do something with the product category or return it
}

Parameters

The filters to be applied on the retrieved product categories.
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.
sharedContextContext
A context used to share resources, such as transaction manager, between the application and the module.

Returns

PromisePromise<ProductCategoryDTO[]>Required
The list of product categories.
Was this section helpful?