Add a Firestore document using a map
Stay organized with collections
Save and categorize content based on your preferences.
Add a Firestore document using a map
Explore further
For detailed documentation that includes this code sample, see the following:
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 page demonstrates how to add a document to Firestore using a map in various programming languages, including C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eEach code example adds a document with the ID "LA" to the "cities" collection, containing information about Los Angeles, such as its name, state, and country.\u003c/p\u003e\n"],["\u003cp\u003eTo interact with Firestore, these samples show how to set up Application Default Credentials for authentication purposes, referencing a guide for local development setup.\u003c/p\u003e\n"],["\u003cp\u003eThe Java example demonstrates the usage of \u003ccode\u003eApiFuture<WriteResult>\u003c/code\u003e to asynchronously add data and retrieve the time of update.\u003c/p\u003e\n"],["\u003cp\u003eThe page provides links to additional documentation on managing data in Firestore and to a Google Cloud sample browser for exploring code samples from other Google Cloud products.\u003c/p\u003e\n"]]],[],null,["# Add a Firestore document using a map\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Add and update data](/firestore/native/docs/manage-data/add-data)\n- [Add data to Cloud Firestore](https://firebase.google.com/docs/firestore/manage-data/add-data)\n\nCode sample\n-----------\n\n### C#\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 DocumentReference docRef = db.Collection(\"cities\").Document(\"LA\");\n Dictionary\u003cstring, object\u003e city = new Dictionary\u003cstring, object\u003e\n {\n { \"name\", \"Los Angeles\" },\n { \"state\", \"CA\" },\n { \"country\", \"USA\" }\n };\n await docRef.SetAsync(city);\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\n import (\n \t\"context\"\n \t\"log\"\n\n \t\"cloud.google.com/go/firestore\"\n )\n\n func addDocAsMap(ctx context.Context, client *firestore.Client) error {\n \t_, err := client.Collection(\"cities\").Doc(\"LA\").Set(ctx, map[string]interface{}{\n \t\t\"name\": \"Los Angeles\",\n \t\t\"state\": \"CA\",\n \t\t\"country\": \"USA\",\n \t})\n \tif err != nil {\n \t\t// Handle any errors in an appropriate way, such as returning them.\n \t\tlog.Printf(\"An error has occurred: %s\", err)\n \t}\n\n \treturn err\n }\n\n### Java\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 // Create a Map to store the data we want to set\n Map\u003cString, Object\u003e docData = new HashMap\u003c\u003e();\n docData.put(\"name\", \"Los Angeles\");\n docData.put(\"state\", \"CA\");\n docData.put(\"country\", \"USA\");\n docData.put(\"regions\", Arrays.asList(\"west_coast\", \"socal\"));\n // Add a new document (asynchronously) in collection \"cities\" with id \"LA\"\n ApiFuture\u003cWriteResult\u003e future = db.collection(\"cities\").document(\"LA\").set(docData);\n // ...\n // future.get() blocks on response\n System.out.println(\"Update time : \" + future.get().getUpdateTime());\n\n### Node.js\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 const data = {\n name: 'Los Angeles',\n state: 'CA',\n country: 'USA'\n };\n\n // Add a new document in collection \"cities\" with ID 'LA'\n const res = await db.collection('cities').doc('LA').set(data);\n\n### PHP\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 $data = [\n 'name' =\u003e 'Los Angeles',\n 'state' =\u003e 'CA',\n 'country' =\u003e 'USA'\n ];\n $db-\u003ecollection('samples/php/cities')-\u003edocument('LA')-\u003eset($data);\n\n### Python\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 data = {\"name\": \"Los Angeles\", \"state\": \"CA\", \"country\": \"USA\"}\n\n # Add a new doc in collection 'cities' with ID 'LA'\n db.collection(\"cities\").document(\"LA\").set(data)\n\n### Ruby\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 city_ref = firestore.doc \"#{collection_path}/LA\"\n\n data = {\n name: \"Los Angeles\",\n state: \"CA\",\n country: \"USA\"\n }\n\n city_ref.set data\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)."]]