<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Júlia Vaz</title>
    <description>The latest articles on DEV Community by Júlia Vaz (@juliavaz).</description>
    <link>https://dev.to/juliavaz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F412136%2F1c17e83d-1c11-4205-a386-bc0a645622f7.jpg</url>
      <title>DEV Community: Júlia Vaz</title>
      <link>https://dev.to/juliavaz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/juliavaz"/>
    <language>en</language>
    <item>
      <title>Teoria | Documentando arquitetura de software com C4 Model + Plant UML</title>
      <dc:creator>Júlia Vaz</dc:creator>
      <pubDate>Thu, 28 Dec 2023 21:45:07 +0000</pubDate>
      <link>https://dev.to/juliavaz/teoria-documentando-arquitetura-de-software-com-c4-model-plant-uml-ajb</link>
      <guid>https://dev.to/juliavaz/teoria-documentando-arquitetura-de-software-com-c4-model-plant-uml-ajb</guid>
      <description>&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prefácio&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Nesse artigo, teremos contextos e explicações dos temas: Modelagem de arquitetura, C4 Model e Plant UML.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;Premissa: A modelagem de arquitetura de software é um processo de concepção de sistemas em geral, envolve a criação de representações abstratas de um sistema ou aplicativo para compreender, comunicar e projetar sua estrutura e funcionamento. Facilitando assim, a comunicação entre partes interessadas como desenvolvedores, gestão e partes não técnicas. Além de contribuir para a qualidade e manutenibilidade dos sistemas de software.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  C4 Model
&lt;/h2&gt;

&lt;p&gt;O C4 Model é uma alternativa na construção de modelagem de arquitetura (advinda da UML), desenvolvido por &lt;a href="https://simonbrown.je/" rel="noopener noreferrer"&gt;Simon Brown&lt;/a&gt;.&lt;br&gt;
Onde descreve em um conjunto de abstrações a arquitetura de software de um sistema de forma clara e eficaz, visando simplificar a comunicação e documentação.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Nota: UML (do inglês Unified Modeling Language) é a linguagem visual de modelagem que inclui diversos tipos de diagramas, como os de classe e de sequência, além de conter três tipos de pastas lógicas: diagramas, modelos e perfis. &lt;a href="https://www.ibm.com/docs/pt-br/rational-soft-arch/9.5?topic=diagrams-uml-models" rel="noopener noreferrer"&gt;Mais detalhes&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O C4 Model oferece uma estrutura hierárquica para representar a arquitetura de software em quatro níveis de abstração, cada nível fornece uma visão diferente do sistema, desde uma visão de alto nível até uma visão detalhada do código-fonte, da camada externa para interna, são eles: Context, Containers, Components e Code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhmckpzkt0earomc83qjw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhmckpzkt0earomc83qjw.png" alt="Representação gráfica de cada camada do modelo C4 Model"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Nota: Observe na imagem onde se é contornado o objeto, para assim, seguir o "zoom" do próximo nível. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Nível 1: Context (Contexto)
&lt;/h3&gt;

&lt;p&gt;A camada macro da modelagem se caracteriza pela visão do projeto de um nível mais alto e descreve o sistema como um todo. Mostra o sistemas e seus principais componentes externos e como se interagem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nível 2: Containers (Contêineres)
&lt;/h3&gt;

&lt;p&gt;No nível de Containers, o foco está na estrutura interna, detalhando os principais subsistemas do sistema e como eles se comunicam entre si. Isso ajuda a identificar as partes fundamentais e suas interações.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nível 3: Components (Componentes)
&lt;/h3&gt;

&lt;p&gt;Entrando mais no detalhe do Container, temos a estrutura interna que identificamos como Components, são as partes funcionais do sistema que executam tarefas específicas e podem ser implementadas usando tecnologias específicas. Essa etapa fornece insights sobre a estrutura interna do sistema e como os componentes estão organizados e se relacionam uns com os outros. &lt;/p&gt;

&lt;h3&gt;
  
  
  Nível 4: Code (Código)
&lt;/h3&gt;

&lt;p&gt;Por fim, chegamos no nível mais baixo de abstração. Neste nível é exposto o esqueleto do código-fonte real do sistema. Tendo como parte diagramas de classe, sequência e outros artefatos que mostram a estrutura e o comportamento do código-fonte.&lt;br&gt;
Embora seja o nível que mais forneça informação técnica aos desenvolvedores, permitindo assim uma compreensão profunda da implementação real do sistema. Em minha opnião pessoal, se trata da camada que com o tempo se torna um peso aos mantenedores da documentação, dado sua constante mudança.&lt;/p&gt;

&lt;h2&gt;
  
  
  PlantUML
&lt;/h2&gt;

&lt;p&gt;O PlantUML é uma ferramenta que permite criar diagramas UML (Unified Modeling Language) de forma textual, utilizando uma linguagem de marcação simples para definir elementos de diagramas, como classes, objetos, relacionamentos, etc. &lt;/p&gt;

&lt;p&gt;Suporta a criação de diagramas em diferentes níveis de abstração, incluindo diagramas de classe, diagramas de sequência, diagramas de estado entre outros. Escrevendo código em uma sintaxe simples e legível, a ferramenta então gera automaticamente os diagramas a partir do código fornecido, além de ser altamente personalizável, permitindo ajustes na aparência e o estilo dos diagramas de acordo com suas necessidades.&lt;/p&gt;

&lt;p&gt;O exemplo abaixo representa a camada nível 1 do C4 Model, sendo elaborada de maneira textual pelo PlantUML.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz27l83y3plkza8sl0t8o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz27l83y3plkza8sl0t8o.png" alt="Exemplo de código-fonte com a representação gráfica do PlantUML"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefícios?
&lt;/h2&gt;

&lt;p&gt;O C4 Model e o PlantUML são duas ferramentas distintas que podem ser usadas em conjunto para criar diagramas arquitetônicos e representações visuais de sistemas de software. Aqui estão alguns dos prós e contras de usar essas duas ferramentas &lt;em&gt;em conjunto&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prós:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clareza e Compreensão:&lt;/strong&gt; O C4 Model é projetado para criar diagramas de arquitetura que são simples, claros e fáceis de entender. PlantUML, por sua vez, é uma ferramenta que pode ser usada para criar diagramas de forma textual, o que pode ajudar a manter a simplicidade e clareza dos diagramas C4.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibilidade:&lt;/strong&gt; PlantUML é altamente flexível e suporta a criação de vários tipos de diagramas, incluindo diagramas de classes, diagramas de sequência, diagramas de componentes e muito mais. Isso permite que você represente diferentes aspectos da arquitetura do sistema de forma consistente.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Controle de Versão:&lt;/strong&gt; Como os diagramas criados com PlantUML são baseados em texto, eles podem ser facilmente armazenados em sistemas de controle de versão, como o Git, o que facilita o rastreamento de alterações e a colaboração em equipe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integração:&lt;/strong&gt; PlantUML pode ser integrado em várias ferramentas de desenvolvimento, IDEs e sistemas de documentação, facilitando a inclusão de diagramas C4 em sua documentação de arquitetura.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Contras:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Curva de Aprendizado:&lt;/strong&gt; Tanto o C4 Model quanto o PlantUML têm uma curva de aprendizado. Aprender a criar diagramas de arquitetura eficazes usando o C4 Model requer algum tempo e prática. Além disso, aprender a escrever código PlantUML também pode ser desafiador para alguns.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Limitações de Expressividade:&lt;/strong&gt; Embora PlantUML seja flexível, ele ainda pode ter algumas limitações em termos de expressividade em comparação com ferramentas de diagramação gráfica mais avançadas. Alguns diagramas complexos podem ser difíceis de representar com precisão.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Manutenção:&lt;/strong&gt; Como os diagramas PlantUML são baseados em texto, a manutenção de diagramas grandes e complexos pode se tornar trabalhosa, especialmente se muitas alterações forem necessárias.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependência de Ferramentas:&lt;/strong&gt; Você precisa depender de ferramentas específicas para gerar os diagramas PlantUML a partir do código textual, o que pode ser uma desvantagem se sua equipe ou organização não estiver familiarizada com essas ferramentas.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Em resumo, a combinação do C4 Model e do PlantUML pode ser uma abordagem eficaz para representar a arquitetura de sistemas de software, especialmente se você valoriza a simplicidade e a clareza em seus diagramas e está disposto a investir tempo na aprendizagem e na manutenção das ferramentas. No entanto, é importante estar ciente das limitações e desafios associados a essa abordagem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Referências
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://c4model.com/" rel="noopener noreferrer"&gt;Documentação oficial - C4 Model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/plantuml-stdlib/C4-PlantUML" rel="noopener noreferrer"&gt;Documentação oficial - Plant UML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4XWShUGa0iU&amp;amp;ab_channel=SoftAwareProject" rel="noopener noreferrer"&gt;Modelling: C4 modeling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/alexandreliberato/visualize-a-arquitetura-do-seu-sistema-com-c4-model-3pcl"&gt;Visualize a arquitetura do seu sistema com C4 Model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>diagram</category>
      <category>c4model</category>
      <category>plantuml</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Instalação do Git e subir seu repositório para o GitHub</title>
      <dc:creator>Júlia Vaz</dc:creator>
      <pubDate>Thu, 09 Jul 2020 01:13:31 +0000</pubDate>
      <link>https://dev.to/juliavaz/git-github-164l</link>
      <guid>https://dev.to/juliavaz/git-github-164l</guid>
      <description>&lt;p&gt;Olá! nesse artigo eu irei dizer com eu faço a instalação e configuração do git/github no linux (estou usando o Ubuntu 20.04), e também como fazer com que um repositório local se torne remoto.&lt;/p&gt;

&lt;p&gt;Espero que lhe ajude!&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Verificar a existência do git:
&lt;/h3&gt;

&lt;p&gt;Antes de tudo, você precisa conferir se já tem o git instalado no seu computador utilizando o comando: &lt;code&gt;&amp;gt; git --version&lt;/code&gt;, caso apareça "command not found" siga para a instalação.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Instalação do git:
&lt;/h3&gt;

&lt;p&gt;No linux utilize o comando &lt;code&gt;&amp;gt; sudo apt install git&lt;/code&gt; e insira sua senha de sudo, logo após a conclusão fazer uma verificação da versão para saber se foi instalado corretamente: &lt;code&gt;&amp;gt; git --version&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Configuração de ambiente:
&lt;/h3&gt;

&lt;p&gt;Utilizarei os seguintes comandos para definir o padrão de nome, email, editor de texto (opcional).&lt;br&gt;
&lt;code&gt;&amp;gt; git config --global user.name "seu nome"&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;&amp;gt; git config --global user.email "seu email&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;&amp;gt; git config --global core.editor vscode&lt;/code&gt; (por exemplo).&lt;/p&gt;

&lt;p&gt;Para visualizar todas as configurações feitas: &lt;code&gt;&amp;gt; git config --list&lt;/code&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Repositório local para remoto:
&lt;/h3&gt;

&lt;p&gt;Utilizei o tutorial da &lt;a href="https://docs.github.com/pt/github/authenticating-to-github/connecting-to-github-with-ssh"&gt;Documentação oficial&lt;/a&gt; como base de estudo e prática para entender como funciona o processo, e deixei indexado para você fazer o passo-a-passo também.&lt;/p&gt;

&lt;p&gt;Em minha visão está bem completo e didático, então essa etapa será finalizada. :D&lt;/p&gt;

&lt;h4&gt;
  
  
  Espero que tenha curtido!
&lt;/h4&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>linux</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Introdução ao MongoDB e operações de CRUD</title>
      <dc:creator>Júlia Vaz</dc:creator>
      <pubDate>Tue, 07 Jul 2020 18:08:05 +0000</pubDate>
      <link>https://dev.to/juliavaz/mongodb-1eee</link>
      <guid>https://dev.to/juliavaz/mongodb-1eee</guid>
      <description>&lt;p&gt;Estarei usando esse site como registro dos meus estudos, a intensão é totalmente fixar o conteúdo aprendido! &lt;/p&gt;

&lt;p&gt;Primeira coisa que tem que entender sobre o MongoDB é o conceito, entender a lógica de um banco de dados &lt;em&gt;não&lt;/em&gt; relacional.&lt;/p&gt;

&lt;p&gt;A &lt;em&gt;&lt;a href="https://docs.mongodb.com/manual"&gt;Documentação&lt;/a&gt;&lt;/em&gt; do MongoDB é incrível, eu consegui entender super bem por lá, precisando ver pequenas coisas por fora.&lt;/p&gt;

&lt;p&gt;Se você é como eu, que tem o conceito de banco de dados relacional muito fixo e não entendeu de primeira a maneira na qual o não relacional funciona recomendo ver essa parte da documentação do MongoDB, &lt;a href="https://docs.mongodb.com/manual/reference/sql-comparison/"&gt;Comparação com SQL&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Características:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Os dados são organizados em funções;&lt;/li&gt;
&lt;li&gt;Documento definido por um objeto, tendo o formato de campo:valor;&lt;/li&gt;
&lt;li&gt;Não existe tabelas, sim collections;&lt;/li&gt;
&lt;li&gt;As collections não tem contains (PK, FK), transações e também não tem as limitações das tabelas relacionais;&lt;/li&gt;
&lt;li&gt;Composto por documentos, esses documentos são em formato JSON;&lt;/li&gt;
&lt;li&gt;Os documentos são agrupados em &lt;em&gt;collections&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;O conjunto de &lt;em&gt;collections&lt;/em&gt; formam um &lt;em&gt;database&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;Collection é um conjunto de dados;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ✨ &lt;strong&gt;Fluxo de acesso&lt;/strong&gt;
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Para visualizar todos os documentos existentes.
&lt;/h4&gt;

&lt;p&gt;Comando : &lt;code&gt;&amp;gt; show databases&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Para colocar em uso &lt;em&gt;caso exista&lt;/em&gt;, senão, ele é automaticamente criado.
&lt;/h4&gt;

&lt;p&gt;Comando: &lt;code&gt;&amp;gt; use estudos&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;OBS.:&lt;/strong&gt; a collection só oficialmente criada após a inserção de um registro&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Para visualizar as collections.
&lt;/h4&gt;

&lt;p&gt;Comando: &lt;code&gt;&amp;gt; show collections&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Para visualizar em qual documento você está.
&lt;/h4&gt;

&lt;p&gt;Comando: &lt;code&gt;&amp;gt; db&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ &lt;strong&gt;Operações de CRUD&lt;/strong&gt;
&lt;/h2&gt;

&lt;h4&gt;
  
  
  São funções que fazem as operações, como por exemplo: &lt;code&gt;insert()&lt;/code&gt;, &lt;code&gt;find()&lt;/code&gt;, &lt;code&gt;findOne()&lt;/code&gt;, &lt;code&gt;update()&lt;/code&gt; e &lt;code&gt;delete()&lt;/code&gt;;
&lt;/h4&gt;

&lt;h3&gt;
  
  
  Create
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;&amp;gt; use &amp;lt;nome-collection&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Esse comando serve para criar o banco, mas só será oficialmente criado com a inserção do primeiro registro.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Read
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Esse comando serve para visualizar os registros da sua collection (apenas os 20 primeiros).&lt;br&gt;
Comando: &lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.find()&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visualizar em formato JSON.&lt;br&gt;
Comando:  &lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.find().pretty()&lt;/code&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ver um registro em específico.&lt;br&gt;
Comando: &lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.find({ &amp;lt;nome-campo&amp;gt; : &amp;lt;valor&amp;gt; })&lt;/code&gt;&lt;br&gt;
Pode-se usar o parâmetro &lt;code&gt;pretty()&lt;/code&gt; sempre que quiser ver em formato JSON.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Insert
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Adicionar um único registro em sua collection definida:&lt;br&gt;
Comando: &lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.insert({ campo:valor })&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Há duas opções de como adicionar vários registros em sua collection definida:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1ª opção: Usando um array para inserir os registros, logo em seguida adicionar o array no parâmetro insert:&lt;br&gt;
Comando: &lt;br&gt;
&lt;code&gt;&amp;gt; addArray = [ { campo:valor}, { campo:valor}, {campo:valor}, { campo: [ {campo:valor }, {campo:valor } ] } ]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.insert(addArray)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;2ª opção: Usar a função &lt;code&gt;insertMany()&lt;/code&gt;:&lt;br&gt;
Comando: &lt;code&gt;db.&amp;lt;nome-collection&amp;gt;.insertMany([ { campo:valor, campo:valor, campo:valor }, { campo:valor, campo:valor, campo:valor } ] )&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Update
&lt;/h3&gt;

&lt;p&gt;Importante lembrar que, a função update pode ser muito perigosa, podendo apagar registros de seu documento, então atente-se as regras de "segurança".&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Atualizando um único registro em sua collection definida, usando o _&lt;em&gt;id&lt;/em&gt; como filtro, pois é um registro único:&lt;br&gt;
Comando: &lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.updateOne({ _id: ObjectId("5eeed2755cda39dc20cb990c")}, {$set: {campo:valor}})&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;O operador $set irá sobrescrevê-lo, sendo atualizado.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Existem outras funções de update como, &lt;code&gt;update()&lt;/code&gt;, &lt;code&gt;updateMany()&lt;/code&gt; e &lt;code&gt;upsert()&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;OBS.:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;- Cada ObjectId() é diferente então para encontrar o seu use o comando &lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.find()&lt;/code&gt;;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;- Se for atualizar um campo que não existe ele será automaticamente criado.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Delete
&lt;/h3&gt;

&lt;p&gt;Seguindo a lógica das funções do &lt;code&gt;update()&lt;/code&gt;, temos duas opções de como deletar um registro, usando &lt;code&gt;deleteOne()&lt;/code&gt; ou &lt;code&gt;deleteMany()&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Para apagar todos os registros com um campo especifico:
&lt;code&gt;&amp;gt; db.&amp;lt;nome-collection&amp;gt;.deleteOne({campo:valor})&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Caso queira deletar um registro em especifico não se esqueça de utilizar o &lt;code&gt;ObjectId()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fim! :D &lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>beginners</category>
      <category>database</category>
    </item>
  </channel>
</rss>
