Atualizar um documento do Firestore usando a mesclagem
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Atualizar um documento do Firestore usando a mesclagem
Mais informações
Para ver a documentação detalhada que inclui este exemplo de código, consulte:
Exemplo de código
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis page demonstrates how to update a Firestore document using the merge option, which allows you to modify specific fields without overwriting the entire document.\u003c/p\u003e\n"],["\u003cp\u003eCode examples are provided in C#, Go, Java, Node.js, PHP, Python, and Ruby, showcasing how to implement the merge operation in each language.\u003c/p\u003e\n"],["\u003cp\u003eEach example initializes a document reference and then uses \u003ccode\u003eSet\u003c/code\u003e or a similar method with a merge option to update a specified field, such as changing a city's capital status.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication to Firestore requires setting up Application Default Credentials, as detailed in the linked documentation for local development environments.\u003c/p\u003e\n"]]],[],null,["# Update a Firestore document using merge\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 update = new Dictionary\u003cstring, object\u003e\n {\n { \"capital\", false }\n };\n await docRef.SetAsync(update, SetOptions.MergeAll);\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 updateDocCreateIfMissing(ctx context.Context, client *firestore.Client) error {\n \t_, err := client.Collection(\"cities\").Doc(\"BJ\").Set(ctx, map[string]interface{}{\n \t\t\"capital\": true,\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\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 // asynchronously update doc, create the document if missing\n Map\u003cString, Object\u003e update = new HashMap\u003c\u003e();\n update.put(\"capital\", true);\n\n ApiFuture\u003cWriteResult\u003e writeResult =\n db.collection(\"cities\").document(\"BJ\").set(update, SetOptions.merge());\n // ...\n System.out.println(\"Update time : \" + writeResult.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 cityRef = db.collection('cities').doc('BJ');\n\n const res = await cityRef.set({\n capital: true\n }, { merge: true });\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-\u003eset([\n 'capital' =\u003e true\n ], ['merge' =\u003e true]);\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\n city_ref.set({\"capital\": True}, merge=True)\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 city_ref.set({ capital: false }, merge: true)\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)."]]