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