A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Hi, I need to get all active and published products by collection id.
I know I can get all Active and published products by doing this:
{ products (first:50, query:"status:active AND published_status:published") { nodes { id, title, } } }
And I know I can get all products by collection id by doing this:
query ProductsByCollection ($id: ID!) { collection(id: $id) { handle products(first: 50) { nodes { title, id, status } } } }
How can I get all active and published products for a specific collection with just one query ?
Thanks
Hi @pablores,
Thanks for your post. Currently there's not a built in way to achieve that in a single query so we've submitted some feedback about it internally, particularly around having some more filters in the Collection.products connection.
Hope you have a great day
Developer Support @ Shopify
- Was this reply helpful? Click Like to let us know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
Is there another way to do this with multiple queries?
Hi Pablores!
Put this in Query:
query Collections ($first: Int!, $reverse: Boolean!, $query: String!){
collections(first: $first, reverse: $reverse, query: $query) {
edges {
node {
id
products(first: 250) {
edges {
node {
id
title
status
description
}
}
}
}
}
}
}
and put this in Variables:
{
"first": 1,
"reverse": true,
"query": "id:440808079677"
}
You will receive 250 products from that collection identified on the ID variable:
{
"data": {
"collections": {
"edges": [
{
"node": {
"id": "gid://shopify/Collection/440808079677",
"products": {
"edges": [
{
"node": {
"id": "gid://shopify/Product/8177835835709",
"title": "DARSHAN & GURUPURNIMA 2023",
"status": "ACTIVE",
"description": "Darshan starts on the 01.07.2023 at 14:00 in the Tent. Gurupurnima celebration starts on the 03.07.2023 at 18:00 at the stage outside."
}
},
{
"node": {
"id": "gid://shopify/Product/8189817225533",
"title": "DARSHAN 01 JULY 2023 14:00 @ SPN",
"status": "ACTIVE",
"description": "You can attend 2 In-Person Darshan in July. One of them has to be the 24th of July.Newcomers can attend 3 In-Person Darshans in July."
}
}
]
}
}
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 7,
"actualQueryCost": 7,
"throttleStatus": {
"maximumAvailable": 10000.0,
"currentlyAvailable": 9993,
"restoreRate": 500.0
}
}
}
}