Delete a Firestore field
Stay organized with collections
Save and categorize content based on your preferences.
Delete a Firestore field
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 document provides code samples demonstrating how to delete a specific field within a Firestore document.\u003c/p\u003e\n"],["\u003cp\u003eThe code examples are available in C#, Go, Java, Node.js, PHP, Python, and Ruby, each using a similar approach to remove a field.\u003c/p\u003e\n"],["\u003cp\u003eDeleting a field, such as "capital", is done using the \u003ccode\u003eFieldValue.Delete\u003c/code\u003e or equivalent methods, which varies depending on the language.\u003c/p\u003e\n"],["\u003cp\u003eBefore executing any code, it's essential to set up Application Default Credentials to authenticate with Firestore.\u003c/p\u003e\n"],["\u003cp\u003eThe samples each refer to the same document in the same collection, specifically: The document labeled 'BJ', in the collection labeled 'cities'.\u003c/p\u003e\n"]]],[],null,["# Delete a Firestore field\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Delete data from Cloud Firestore](https://firebase.google.com/docs/firestore/manage-data/delete-data)\n- [Delete documents and fields](/firestore/native/docs/manage-data/delete-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 cityRef = db.Collection(\"cities\").Document(\"BJ\");\n Dictionary\u003cstring, object\u003e updates = new Dictionary\u003cstring, object\u003e\n {\n { \"Capital\", FieldValue.Delete }\n };\n await cityRef.UpdateAsync(updates);\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 deleteField(ctx context.Context, client *firestore.Client) error {\n \t_, err := client.Collection(\"cities\").Doc(\"BJ\").Update(ctx, []firestore.Update{\n \t\t{\n \t\t\tPath: \"capital\",\n \t\t\tValue: firestore.https://cloud.google.com/go/docs/reference/cloud.google.com/go/firestore/latest/index.html#cloud_google_com_go_firestore_Delete_ServerTimestamp,\n \t\t},\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 \t// ...\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 DocumentReference docRef = db.collection(\"cities\").document(\"BJ\");\n Map\u003cString, Object\u003e updates = new HashMap\u003c\u003e();\n updates.put(\"capital\", FieldValue.delete());\n // Update and delete the \"capital\" field in the document\n ApiFuture\u003cWriteResult\u003e writeResult = docRef.update(updates);\n System.out.println(\"Update time : \" + writeResult.get());\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 // Create a document reference\n const cityRef = db.collection('cities').doc('BJ');\n\n // Remove the 'capital' field from the document\n const res = await cityRef.update({\n capital: FieldValue.delete()\n });\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 $cityRef = $db-\u003ecollection('samples/php/cities')-\u003edocument('BJ');\n $cityRef-\u003eupdate([\n ['path' =\u003e 'capital', 'value' =\u003e FieldValue::deleteField()]\n ]);\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 city_ref = db.collection(\"cities\").document(\"BJ\")\n city_ref.update({\"capital\": firestore.DELETE_FIELD})\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}/BJ\"\n city_ref.update({ capital: firestore.field_delete })\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)."]]