我专门使用shopify graphql admin api 来查询订单。
我想搜索嵌套的相关字段。
以下是我的查询。
export const orderHistoryQuery = gql`
query Order($productsFirst: Int!, $productsAfter: String, $filterQuery: String) {
orders(first: $productsFirst, after: $productsAfter, reverse: true, query:$filterQuery) {
edges {
cursor
node {
id
name
customer {
id
metafields(first: 10) {
edges {
node {
id
key
value
namespace
}
cursor
}
}
}
totalPriceSet {
shopMoney {
amount
currencyCode
}
}
subtotalPriceSet {
shopMoney {
amount
currencyCode
}
}
totalRefundedSet {
shopMoney {
amount
currencyCode
}
}
currencyCode
email
phone
processedAt
totalShippingPriceSet {
shopMoney {
amount
currencyCode
}
}
totalTaxSet {
shopMoney {
amount
currencyCode
}
}
shippingAddress {
firstName
lastName
address1
address2
city
province
zip
country
}
billingAddress {
firstName
lastName
address1
address2
city
province
zip
country
}
customAttributes {
key
value
}
}
}
}
}
`;
我真的想查询元字段或任何东西,但似乎不支持它。我不确定我的查询语法是否错误或者是否不受支持。 Shopify 搜索语法文档并没有真正帮助,这就是我对 graphql 的了解崩溃的地方。
可以在 graphql 中做到这一点吗?我还尝试添加他们的设置不支持的元字段(id:$whateverID)。
最佳答案
遗憾的是,Shopify 不支持元字段
上的查询过滤器。解决这个问题的最佳方法是使用 graphql 浏览器,例如 GraphiQL 。如果您转到“应用程序”>“Shopify GraphiQL 应用程序”,Shopify 仪表板会内置此功能。
使用 GraphiQL 您可以看到:
我认为您的选择是要么按您可以查询的内容进行查询并在获得结果后进行过滤,要么使用客户标签并按标签进行查询。
关于GraphQL:是否可以搜索嵌套字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217252/