Criar coleção
Comece com a criação de uma nova coleção de banco de dados em seu banco de dados. O comando anexado abaixo está criando uma nova coleção chamada "Data" em nosso banco de dados MongoDB "Teste". A resposta de ok: 1 indica que a coleção foi criada com sucesso e pode ser utilizada mais.
Teste> dB.createCollection ("dados")Insira registros na coleta
No início da criação de uma coleção, ela deve estar vazia, pois ainda não adicionamos nenhum documento. Para executar o operador STRCASECMP em uma coleção de "dados", ele deve ter documentos. Portanto, usaremos a função MongoDB InsertMany para adicionar vários registros a uma coleção chamada "Data" de uma só vez. Os documentos que estão sendo inseridos estão no formato de pares de valores-chave, com chaves "title" e "desc" e seus respectivos valores. Os valores que estão sendo inseridos incluem "John", "John", "IDK" e "Lisa" para a chave "título" e "um cara aleatório", "bom garoto", "idontknow" e "Enginnerer" para o " Chave descec ”. O comando é adicionar 4 novos documentos. A saída mostra o "reconhecido" como um valor booleano, que é definido como true, indicando que a consulta foi reconhecida e executada pelo servidor MongoDB com sucesso.
Teste> dB.Dados.InsertMany ([Title: "John", Desc: "A Random Guy", Title: "John", Desc: "Good Boy", Title: "IDK", Desc: "IDONTKNE", Título : "Lisa", Desc: "Enginnerer"])Exibir os registros de coleção
Depois de inserir um total de 4 registros na coleção "dados" do banco de dados "Teste", devemos verificar os documentos pelo menos uma vez. Portanto, precisamos exibir os registros inseridos no shell do MongoDB para visualização. O comando para visualizar os registros foi anexado abaixo. Ao usar o método MongoDB find (), recuperamos todos os documentos da coleção "dados". O objeto vazio passou como um argumento para o método find () significa que nenhuma condição de filtragem é aplicada e todos os documentos da coleção serão retornados. A saída deste comando é uma matriz de documentos, cada um que contém os campos _id, título e DESC e seus respectivos valores, que foram adicionados anteriormente na coleção. A saída confirma que os documentos estão presentes na coleção e podem ser recuperados para processamento adicional.
Teste> dB.Dados.encontrar()Exemplo # 01:
Em nossa primeira ilustração do MongoDB, usaremos o operador STRCASECMP para executar uma comparação entre dois valores de string: comparação insensível ao caso. Para isso, vamos executar a consulta mostrada abaixo no shell do MongoDB que está usando a função agregada do MongoDB para executar uma série de operações em uma coleção chamada "Data". A primeira operação é uma fase de projeto $, que modifica os documentos da coleção adicionando ou removendo campos. Nesse caso, o estágio $ do projeto exibirá todos os registros do "título" do campo, além de adicionar um novo campo chamado "resultado" a cada documento, que é o resultado de comparar o valor do campo "título" com A string "IDK" usando o operador $ strcaSecmp.
A comparação é insensível a minúsculas, o que significa que "John" e "John" seriam considerados iguais. O novo campo "Resultado" exibe a saída da comparação do campo "Título" com "IDK". 0 No terceiro registro mostra que a string "id" é igual à string "IDK" no campo "Título" enquanto o resto é 1.
Teste> dB.Dados.agregado ([$ Project: title: 1, resultado: $ strcasecmp: ["$ title", "idk"]])Exemplo # 02:
Vamos ter uma nova ilustração de comparar strings de maneira insensível ao caso no banco de dados MongoDB. Desta vez, o código que estamos usando está utilizando a mesma função agregada para executar uma comparação no campo "Título". A fase $ do projeto está criando um novo campo com o mesmo nome: "resultado" que armazena a saída da comparação. Para comparação, estamos usando o mesmo operador $ strcaSecmp. O operador $ STRCASECMP é passado com dois argumentos: "$ title", que é o valor do campo "Title" em cada documento e "John", que é a string usada como o valor de comparação. Neste exemplo, o primeiro documento tem um campo de "título" de 'John', que é igual a "John", então o resultado é 0.
O segundo documento tem um campo de "título" de 'John', que também é igual a "John", mas em maiúsculas. Então, o "resultado" também é 0. O terceiro documento tem um campo de "título" de "IDK", que é menor que "John" em termos de ordem lexicográfica, então o resultado é -1. O quarto documento tem um campo de "título" de 'Lisa', que é maior que "John" em termos de ordem lexicográfica, então o resultado é 1.
Teste> dB.Dados.agregado ([$ Project: title: 1, resultado: $ strcasecmp: ["$ title", "John"]])Exemplo # 03:
Em nossa última ilustração, usaremos o campo "Desc" da coleção "Data" para ser comparado com uma nova string. O operador $ strcaSecmp está sendo aprovado em dois argumentos: "$ desc", que é o valor do campo "Desc" em cada documento e "idontknow", que é a string usada como o valor de comparação.
O primeiro, o segundo e o quarto documentos têm um campo "Desc" de "um cara aleatório", que é menor ou maior que a string "idontknow" em termos de ordem lexicográfica. Então, o resultado desses registros é -1. O terceiro documento tem um campo "Desc" de 'Idontknow', que é igual a "IDONTKNOB", independentemente do caso de letras, então o resultado é 0.
Teste> dB.Dados.agregado ([$ Project: desc: 1, resultado: $ strcasecmp: ["$ desc", "idontknow"]])Conclusão
Este guia apresenta o conceito e o uso do operador STRCASECMP do MongoDB. Criamos uma nova coleção e realizamos comandos de função agregate () junto com o operador STRCASECMP para demonstrar o uso do operador STRCASECMP. Os exemplos usados neste artigo demonstram como uma única string pode ser comparada de caso de caso aos valores de string dos campos de coleta.