MongoDB Verifique se os documentos contêm um campo

MongoDB Verifique se os documentos contêm um campo
Bem -vindo a outro tutorial do MongoDB.

Neste, vamos aprender a verificar se um documento em uma determinada coleção contém um determinado campo pelo uso do operador $ existe. Se isso parece interessante, vamos entrar.

Sintaxe do operador

Vamos começar com o básico e discutir a sintaxe do operador $ existe. O operador assume uma sintaxe relativamente simples, conforme mostrado no seguinte snippet de código:

Field: $ existe:

O operador corresponde então aos documentos que contêm o campo especificado, incluindo onde o valor do referido campo é nulo. No entanto, se o valor booleano for falso, o operador retornará todos os documentos que não contêm o campo referido.

Se você vier dos bancos de dados SQL, esse operador não é semelhante ao Exist Wered in the SQL Language.

Exemplo prático

Chega com a teoria. Vejamos uma coleção prática e aprendemos a usar esse operador para buscar os documentos que contêm ou não contêm um determinado campo.

Suponha que tenhamos uma coleção com os seguintes documentos:

dB.CreateCollection ("funcionários")

Podemos então adicionar um exemplo de dados da seguinte forma:

dB.funcionários.InsertMany ([

"_id": 1,
"First_name": "Raymond",
"Last_name": "Zanib",
"Status": "ativo",
"Salário": 100000
,

"_id": 2,
"Full_name": "Alexandros Flower",
"Salário": 110000,
"Status": "ativo"
,

"_id": 3,
"Full_name": "Umer McCulloch",
"Salário": 109000,
"Idiomas": "en"

]))

No exemplo dado, temos três documentos com campos e valores variados. Vamos descobrir como eles podem nos ajudar a entender o operador $ existe.

Busque os documentos com um determinado campo

Podemos usar o operador $ existe para buscar todos os documentos que contêm o campo, "Full_Name". Uma solicitação de exemplo é como mostrado no seguinte:

dB.funcionários.encontre ("full_name": $ existe: true)

Como definimos o $ existe como true, a consulta deve retornar apenas os documentos que contêm o campo definido.

Um exemplo de saída é como mostrado:

[[

_id: 2,
Full_name: 'Alexandros Flower',
Salário: 110000,
Status: 'ativo'
,

_id: 3,
Full_name: 'Umer McCulloch',
Salário: 109000,
Idiomas: 'en'

]

Como podemos ver, os dois documentos retornados contêm o campo "Full_name".

Busque os documentos que não incluem um campo específico

Também podemos fazer o contrário. Na consulta a seguir, usamos o operador $ existe, mas definimos o valor como false, permitindo que o documento retorne os documentos que não incluem o campo definido.

dB.funcionários.encontre ("full_name": $ existe: false)

Nesse caso, existe apenas um documento que corresponde à condição definida.

[[

_id: 1,
First_name: 'Raymond',
Último nome: 'zanib',
Status: 'ativo',
Salário: 100000

]

Conclusão

Aí está. A funcionalidade do operador $ é quebrada para o seu entendimento. Fique ligado para mais tutoriais.