簡體   English   中英

Shopify Graphql如何查詢7天前?

[英]How Do I Query 7 Days Ago in Shopify Graphql?

我正在嘗試使用 shopify 的 graphql 查詢過去 7 天的訂單數據。 我的查詢成功提取了所有訂單數據,但我無法縮小日期范圍。

此查詢適用於所有數據:

 const currentOrders = await client.query({
      data: {
        query: GET_ALL_LINE_ITEMS,
        variables: { endCursor },
      },
    });

const GET_ALL_LINE_ITEMS = `
query storeOrders($endCursor: String) {
  orders(first:25, reverse:true, sortKey: CREATED_AT, after: $endCursor) {
    edges {
      node {
        lineItems(first: 10) {
          edges{
            node {
              name
              quantity
              variantTitle
              variant {
                id 
                product {
                  id
                }
              }
            }
          }
        }
      }
    }
    pageInfo {
      hasNextPage, endCursor
    }
  }
}
`;

這是我為獲取過去 7 天而創建的查詢:

  let date = new Date();
  let sevenDaysAgo = date - 1000 * 60 * 60 * 24 * 1; 
  sevenDaysAgo = new Date(sevenDaysAgo);

  let dd = String(sevenDaysAgo.getDate()).padStart(2, "0");
  let mm = String(sevenDaysAgo.getMonth() + 1).padStart(2, "0"); 
  let yyyy = sevenDaysAgo.getFullYear();

  sevenDaysAgo = yyyy + "-" + mm + "-" + dd;
 
    const currentOrders = await client.query({
      data: {
        query: GET_ALL_LINE_ITEMS,
        variables: { endCursor, sevenDaysAgo },
      },
    });

const GET_ALL_LINE_ITEMS = `
query storeOrders($endCursor: String) {
  orders(first:25, query:"created_at:>'$sevenDaysAgo'", reverse:true, sortKey: CREATED_AT, after: $endCursor) {
    edges {
      node {
        lineItems(first: 10) {
          edges{
            node {
              name
              quantity
              variantTitle
              variant {
                id 
                product {
                  id
                }
              }
            }
          }
        }
      }
    }
    pageInfo {
      hasNextPage, endCursor
    }
  }
}
`;

它運行,但是,不遵守日期並顯示請求日期之前的結果。

這就是Shopify 文檔所說的:

{
  orders(first: 10, query:"created_at:>2019-12-01") {
    edges {
      node {
        id
        updatedAt
      }
    }
  }
}

如何在給定日期后提取所有 graphql 結果?

編輯:

執行以下查詢可以告訴我這是變量的問題:

const GET_ALL_LINE_ITEMS = `
query storeOrders($endCursor: String) {
  orders(first:25, query:"updated_at:>2019-12-01", reverse:true, sortKey: CREATED_AT, after: $endCursor) {
    edges {
      node {
        lineItems(first: 10) {
          edges{
            node {
              name
              quantity
              variantTitle
              variant {
                id 
                product {
                  id
                }
              }
            }
          }
        }
      }
    }
    pageInfo {
      hasNextPage, endCursor
    }
  }
}
`;


我在查詢中使用單引號,這似乎對我有用。

{“查詢”:“created_at:>'2022-03-28'”}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM