Como encontrar por ID em MongoDB

Como encontrar por ID em MongoDB
MongoDB é um tipo de banco de dados NoSQL que armazena dados em documentos como pares de valor -chave. O MongoDB suporta comandos e operadores de recuperação robustos que o tornam favorável entre outros DBMs (Sistemas de Gerenciamento de Database). O método mais usado de MongoDB é encontrar() método que ajuda a exibir os documentos por qualquer ordem ou consulta dada a ele. Como outros sistemas de gerenciamento de banco de dados, o MongoDB cria um padrão ID único (chave primária na maioria dos DBMs) para cada documento.

No MongoDB, é bastante fácil e eficaz interagir com documentos usando IDs exclusivos. O encontrar() O método de MongoDB também pode ser aplicado em uma coleção MongoDB, referindo -se ao Ids dos documentos. Todo o processo em que os documentos são recuperados usando IDs exclusivos no encontrar() o método é nomeado como “Encontre () por id”.

Neste post da série MongoDB, forneceremos um guia seqüencial para aplicar o método find () para recuperar documentos por id.

Como o método de identificação por identificação funciona no mongodb

Em MongoDB, o encontre () por id Método é uma extensão de encontrar() método e, portanto, a sintaxe primária usada é a mesma que de encontrar() método. A sintaxe para aplicar encontre () por id é dado abaixo:

dB.Nome da coleção (_ id:)

No MongoDB, existem duas possibilidades para um ID exclusivo:

  • Se o usuário definir o valor de ID enquanto inserir os documentos, deve ser único.
  • Se o usuário não criar um ID exclusivo, o MongoDB o gera automaticamente.

Como usar o Método Find By ID em MongoDB

Antes de iniciar a aplicação de Encontre por id em uma coleção; As seguintes instâncias baseadas em MongoDB serão usadas neste tutorial:

Nome do banco de dados: ““Linuxhint”É o nome do banco de dados usado neste guia

Coleção (s) -name: Duas coleções de “Linuxhint”O banco de dados é usado que são nomeados como“distribuições" e "funcionários““.

Exemplo 1: ID definido pelo usuário

O "distribuições”A coleção será usada neste exemplo. Como mencionado anteriormente, quando o usuário insere cada documento com “_eu ia”Campo então se torna IDs exclusivos definidos pelo usuário: por exemplo, os documentos inseridos em“distribuições”A coleção contém IDs definidos pelo usuário (1,2,3… ) como pode ser visto na saída abaixo:

> dB.distribuições.encontrar().bonito()

Você pode recuperar qualquer documento por referência seu eu ia no método find (). Por exemplo, o comando escrito abaixo ajudará a recuperar um documento que possui “_eu ia”Valor 2:

> dB.distribuições.encontre (_ id: 2)

Da mesma forma, você pode obter qualquer outro documento usando o “Encontre por id”Método.

Usando os métodos de localização por identificação e classificação em IDs definidos pelo usuário: Além disso, com a ajuda do Método Find () e Método Sort (), Você pode obter a saída em ordem crescente de IDs.

O comando mencionado abaixo mostra a aplicação do “encontrar" e "organizar”Métodos em IDs de“distribuições" coleção.

Observação: a ordem de classificação pode ser “1" ou "-1,”, Que significa ascender ou descer, respectivamente.

> dB.distribuições.encontrar().Sort (_ id: -1)

Exemplo 2: ID definido pelo sistema

Aqui, neste exemplo, “funcionários”A coleção é usada, e esta coleção contém documentos que têm sistema definido“ids”Conforme mostrado na saída abaixo:

> dB.funcionários.encontrar().bonito()

Você verá que o “_eu ia”O campo contém um ID complexo e exclusivo para cada documento.

Portanto, para recuperar qualquer documento, você deve passar no ID longo, como mostrado no comando abaixo:

> dB.funcionários.encontre (_ id: objectId ("616D7CA2CB1032DFA6345840"))

Usando os métodos de localização por identificação e classificação em IDs definidos pelo sistema: Como no ID definido pelo usuário; Você pode usar o método de classificação nos IDs definidos pelo sistema para obter a saída em ordem ascendente ou descendente:

O comando escrito abaixo classificará os documentos de “funcionários”Coleção em ordem decrescente:

> dB.funcionários.encontrar().Sort (_ id: -1)

Observação: A sintaxe é a mesma, mas o nome da coleção é diferente, e a definição do ID também é diferente.

Ao lidar com os IDs definidos pelo sistema, se você inseriu erroneamente o comprimento errado de “_eu ia,”Então você pode encontrar o seguinte erro:

Ou se você deseja recuperar o sistema definido “Id's"Por definido pelo usuário"eu ia“, O comando será executado, mas não mostrará nenhuma saída porque os IDs definidos pelo usuário não existem em“funcionários" coleção:

Conclusão

O método find () de MongoDB contém uma extensa lista de operadores e comandos suportados que ajudam a recuperar documentos de forma refinada. O ID exclusivo pode ser usado com o método find () para obter os documentos com base em seus IDs. Seguindo este guia, os usuários do Mongo podem obter os documentos usando o ID desses documentos no método find (). Além disso, para melhor compreensão, são fornecidos alguns exemplos que mostram o uso do “encontre () por id ” Método em MongoDB.