Update a Firestore document Timestamp
Stay organized with collections
Save and categorize content based on your preferences.
Update a Firestore document Timestamp
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 content demonstrates how to update a Firestore document's timestamp field to the current server time across various programming languages.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code samples illustrate how to use server timestamps in Firestore for C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eAuthenticating to Firestore using Application Default Credentials is required, and a link is provided for local development setup.\u003c/p\u003e\n"],["\u003cp\u003eYou can use the Google Cloud sample browser to find code samples for different Google Cloud products, including Firestore.\u003c/p\u003e\n"]]],[],null,["# Update a Firestore document Timestamp\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 cityRef = db.Collection(\"cities\").Document(\"new-city-id\");\n await cityRef.UpdateAsync(\"Timestamp\", Timestamp.GetCurrentTimestamp());\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 updateDocServerTimestamp(ctx context.Context, client *firestore.Client) error {\n \t// ...\n\n \t_, err := client.Collection(\"objects\").Doc(\"some-id\").Set(ctx, map[string]interface{}{\n \t\t\"timestamp\": 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}, firestore.https://cloud.google.com/go/docs/reference/cloud.google.com/go/firestore/latest/index.html#cloud_google_com_go_firestore_MergeAll)\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 DocumentReference docRef = db.collection(\"objects\").document(\"some-id\");\n // Update the timestamp field with the value from the server\n ApiFuture\u003cWriteResult\u003e writeResult = docRef.update(\"timestamp\", FieldValue.serverTimestamp());\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 docRef = db.collection('objects').doc('some-id');\n\n // Update the timestamp field with the value from the server\n const res = await docRef.update({\n timestamp: FieldValue.serverTimestamp()\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 $docRef = $db-\u003ecollection('samples/php/objects')-\u003edocument('some-id');\n $docRef-\u003eupdate([\n ['path' =\u003e 'timestamp', 'value' =\u003e FieldValue::serverTimestamp()]\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(\"objects\").document(\"some-id\")\n city_ref.update({\"timestamp\": firestore.SERVER_TIMESTAMP})\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}/new-city-id\"\n city_ref.update({ timestamp: firestore.field_server_time })\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)."]]