Serialize a Firestore query for execution elsewhere
Stay organized with collections
Save and categorize content based on your preferences.
Serialize a Firestore query for execution elsewhere
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis code snippet demonstrates how to serialize a Firestore query for use in another location.\u003c/p\u003e\n"],["\u003cp\u003eThe code utilizes \u003ccode\u003eGetPartitionedQueries\u003c/code\u003e to create a set of partitioned queries from a Firestore collection group.\u003c/p\u003e\n"],["\u003cp\u003eIt then serializes one of these partitioned queries using the \u003ccode\u003eSerialize\u003c/code\u003e method, converting it into a byte array.\u003c/p\u003e\n"],["\u003cp\u003eThe serialized query can be deserialized back into a functional query object using the \u003ccode\u003eDeserialize\u003c/code\u003e method.\u003c/p\u003e\n"]]],[],null,["# Serialize a Firestore query for execution elsewhere\n\nCode sample\n-----------\n\n### Go\n\n\nTo authenticate to Firestore, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n cities := client.CollectionGroup(\"cities\")\n\n // Get a partioned query for the cities collection group, with a maximum\n // partition count of 10\n partitionedQueries, err := cities.GetPartitionedQueries(ctx, 10)\n if err != nil {\n \treturn err\n }\n\n fmt.Printf(\"Collection Group query partitioned to %d queries\\n\", len(partitionedQueries))\n\n query := partitionedQueries[0]\n\n // Serialize a query created by GetPartitionedQueries\n bytes, err := query.Serialize()\n if err != nil {\n \treturn fmt.Errorf(\"Serialize: %w\", err)\n }\n\n // Deserialize a query created by Query.Serialize\n deserializedQuery, err := client.CollectionGroup(\"\").Deserialize(bytes)\n if err != nil {\n \treturn fmt.Errorf(\"Deserialize: %w\", err)\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=firestore)."]]