‫-: Bem vindo de volta.
‫Espero que você esteja se divertindo até agora nesta seção.
‫Eu sei que estou, então vamos mantê-lo
‫em movimento e aprender como atualizar documentos com o Mongodb.
‫Então, de volta ao nosso mongoshell, vamos
‫usar o db. passeios. updateOne.
‫OK?
‫Então é semelhante a. insira um que usamos
‫para criar um novo documento.
‫E lembre-se de como também tivemos. insertmany e
‫assim também temos. updatemany.
‫Agora como vai. atualizar muitos trabalhos?
‫Bem, primeiro precisamos selecionar
‫quais documentos realmente queremos atualizar e, em segundo
‫lugar, precisamos passar os dados que devem ser atualizados.
‫Portanto, o primeiro argumento é basicamente um
‫objeto de filtro, como aprendemos na última aula.
‫Então, basicamente precisamos consultar os
‫documentos que queremos atualizar e vamos começar com isso
‫começando de uma forma muito simples.
‫Então, vou selecionar com base
‫no nome
‫The Snow Adventure.
‫OK?
‫Esse é meu objeto de
‫filtro muito simples, especificando o tour que desejo atualizar. E
‫agora o segundo objeto
‫que preciso especificar é o que realmente desejo atualizar.
‫Então, outro objeto aqui e então fechamos a função.
‫E aqui precisamos usar o operador set.
‫Então, novamente, isso funciona usando operadores
‫exatamente como nessas consultas complexas que vimos no último vídeo.
‫Portanto, defina e, em seguida, precisamos criar outro
‫objeto e, finalmente, neste podemos especificar a propriedade que queremos
‫atualizar e o valor para o qual queremos defini-la.
‫Portanto, neste caso, o
‫que queremos fazer é definir o preço como 597.
‫Tudo bem?
‫Este era 497 e agora estamos
‫basicamente aumentando para 597.
‫Tudo bem?
‫Então vamos clicar em voltar e então atualizar nosso tour.
‫Agora, se esta consulta aqui teria
‫correspondido a vários documentos.
‫Não consigo selecioná-lo por algum motivo,
‫mas você pode ver.
‫Portanto, se esta consulta que
‫fizemos aqui tivesse selecionado vários documentos, apenas o
‫primeiro teria sido atualizado porque estávamos
‫usando. updatemain.
‫Portanto, se já sabemos de antemão que
‫nossa consulta vai corresponder a vários documentos,
‫devemos usar. updatemany e
‫não. updateone.
‫OK?
‫Agora, apenas para mostrar que
‫realmente funcionou, vamos dar uma olhada em todos os documentos.
‫Então db. passeios. encontrar e, de fato,
‫temos The Snow Adventure aqui com
‫o novo preço.
‫Excelente.
‫Então, atualizamos uma propriedade que já existia.
‫Portanto, o preço já estava lá e
‫nós simplesmente o definimos com um novo valor, mas também
‫podemos criar novas propriedades e defini-las com novos valores, é claro.
‫E realmente funciona da mesma maneira, mas
‫deixe-me mostrar de qualquer maneira.
‫E o que eu quero fazer aqui é encontrar tours
‫premium e dar a eles um campo premium definido como true.
‫Então, quais são os nossos passeios premium?
‫Bem, vamos primeiro fazer um achado.
‫Então, apenas para especificar essa consulta.
‫E na verdade já fizemos isso antes.
‫Portanto, os passeios que desejo devem ter um preço maior que 500 e
‫uma classificação maior ou igual a 4. 8
‫Essas são as nossas excursões premium, basicamente, aquelas
‫que são realmente as mais caras
‫e mais bem avaliadas.
‫Então, para criar esta consulta, é realmente muito simples.
‫E de novo porque já fizemos isso antes.
‫Agora, o que quero que você faça aqui é
‫pausar o vídeo e, mesmo
‫que se lembre, digite esta consulta por conta própria.
‫E se você não se lembra, melhor ainda, então
‫você pode praticar o que aprendeu
‫no último vídeo.
‫Tudo bem?
‫Portanto, pause o vídeo aqui e tente
‫fazer essa pergunta por conta própria.
‫Então, novamente, queremos que o preço seja maior que 500 e
‫a avaliação maior ou igual a 4. 8
‫Ok, espero que você tenha feito isso.
‫E esta é a solução.
‫Portanto, o preço deve ser maior ou igual a 500 e a avaliação deve
‫ser maior ou igual a 4. 8
‫OK?
‫E aqui definimos apenas maior do que,
‫na verdade, o mesmo.
‫Vai nos dar o mesmo resultado.
‫Mas não importa, vamos fazer exatamente como eu disse.
‫E então, só para ter certeza, vamos ver se conseguimos
‫o resultado perfeito e de fato este é o
‫passeio que tem esse preço premium e ao mesmo tempo
‫essa classificação premium.
‫OK?
‫E, neste caso, temos apenas um resultado, mas,
‫é claro, podemos ter vários resultados.
‫E agora vamos usar. updatemany.
‫Então db. passeios. updatemany.
‫E então nosso objeto de filtro que queremos é este.
‫Então, estou apenas copiando daqui.
‫Portanto, esse é o primeiro argumento e,
‫em seguida, o segundo é realmente o que queremos atualizar.
‫Lembre-se disso?
‫Então, novamente, usamos o operador de conjunto
‫e, em seguida, dizemos que queremos que o prêmio seja verdadeiro.
‫OK?
‫E desta vez nós realmente criamos um novo campo
‫aqui e o definimos como verdadeiro.
‫OK?
‫Salve aquele e, na verdade, estavam faltando algumas
‫chaves de fechamento e, portanto, não podemos voltar atrás,
‫então deixe-me tentar adicioná-lo aqui.
‫Mas isso não funciona realmente, mas de qualquer
‫forma, não importa, podemos simplesmente voltar ao
‫último comando e depois corrigi-lo.
‫Portanto, esta é a chave que estava
‫faltando, feche-a e vamos lá.
‫Então db. passeios. encontre apenas para verificar agora.
‫E aqui temos o último que agora
‫tem premium definido como verdadeiro.
‫E, novamente, este foi o único documento
‫que correspondeu à nossa consulta e, portanto, é o único que
‫obteve essa
‫nova propriedade premium aqui, mas se houvesse
‫vários documentos correspondendo a essa consulta, todos eles
‫teriam obtido esse prémio verdadeiro.
‫OK?
‫Então é por isso que usamos. updatemany e
‫lembre-se se usamos. updateone então apenas
‫o primeiro documento correspondente à consulta é atualizado.
‫OK?
‫Então é assim que atualizamos os documentos, pelo menos
‫parcialmente com isso. updatemany ou. updateone geralmente
‫atualizamos apenas partes do documento, mas também
‫podemos substituir completamente o conteúdo do documento.
‫E para isso usamos. substituir um.
‫Não vou fazer isso, mas para
‫ser mais completo, também gostaria de mostrar a você.
‫Então db. passeios. substitua um ou. substitua muitos, ok?
‫E aqui, como antes, você passaria
‫a consulta de pesquisa e os novos dados que
‫deseja colocar neste documento.
‫Tudo bem, não vou fazer isso aqui.
‫Mas agora você sabe que ele também existe.
‫E assim temos três de nossas operações
‫corretas já concluídas.
‫Assim, criando, lendo e atualizando e como você
‫pode adivinhar no próximo vídeo, falaremos sobre
‫a exclusão de documentos.