listAndCount - Product Module Reference
BetaThis documentation provides a reference to the listAndCount method. This belongs to the Product Module.
This method is used to retrieve a paginated list of products along with the total count of available products satisfying the provided filters.
Example
To retrieve a list of products using their IDs:
To specify relations that should be retrieved within the products:
import {
initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveProducts (ids: string[]) {
const productModule = await initializeProductModule()
const [products, count] = await productModule.listAndCount({
id: ids
}, {
relations: ["categories"]
})
// do something with the products or return them
}
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 retrieveProducts (ids: string[], skip: number, take: number) {
const productModule = await initializeProductModule()
const [products, count] = await productModule.listAndCount({
id: ids
}, {
relations: ["categories"],
skip,
take
})
// do something with the products or return them
}
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 retrieveProducts (ids: string[], title: string, skip: number, take: number) {
const productModule = await initializeProductModule()
const [products, count] = await productModule.listAndCount({
$and: [
{
id: ids
},
{
q: title
}
]
}, {
relations: ["categories"],
skip,
take
})
// do something with the products or return them
}
Parameters
filtersFilterableProductPropsThe filters to apply on the retrieved products.
filtersFilterableProductPropsconfigFindConfig<ProductDTO>The configurations determining how the products are retrieved. Its properties, such as select or relations, accept the attributes or relations associated with a product.
configFindConfig<ProductDTO>select or relations, accept the attributes or relations associated with a product.sharedContextContextA context used to share resources, such as transaction manager, between the application and the module.
sharedContextContextReturns
The list of products along with the total count.
Was this section helpful?