MongoDB OR Operador

Mongodb Or Operador



Temos diferentes operadores de consulta lógica que estão disponíveis no MongoDB, e um deles é o operador $or. O operador $or do MongoDB é usado para implementar uma operação OR lógica em uma matriz que contém duas ou mais expressões e recuperar apenas os documentos que correspondem a qualquer uma das expressões especificadas na matriz. O operador $or é utilizado para localizar várias declarações em uma única consulta com apenas um critério de documento correspondente. O operador $or facilita a combinação de várias chaves e valores.

Como usar o operador OR no MongoDB

O operador OR no MongoDB é representado no formato “$or”. O “$or” é usado para incluir as múltiplas expressões entre colchetes nos quais a operação lógica OR é executada. Usamos o operador $or na coleção do MongoDB. Criamos a coleção MongoDB intitulada “Pacientes”. A coleção “Pacientes” é inserida com os múltiplos documentos nos quais realizamos o operador $or. Os seguintes documentos são inseridos no MongoDB invocando o método insertMany():

db.Patients.insertMany ( [
{
'Primeiro nome' : 'Jennifer' ,
'Sobrenome' : 'Joshua' ,
'Era' : 44 ,
'Número de telefone' : 43400517 ,
'Compromisso' : 'Dentista' ,
'Cobranças' : 2000 ,
'Teste' : [ 'Raio X' , 'Sangue' , 'Pulpa' ]
} ,
{
'Primeiro nome' : 'Thomas' ,
'Sobrenome' : 'Steven' ,
'Era' : 74 ,
'Número de telefone' : 39034694 ,
'Data do encontro' : 'Cirurgião' ,
'Cobranças' : 6000 ,
'Teste' : [ 'eletivo' , 'PPT' ]
} ,
{
'Primeiro nome' : 'Carlos' ,
'Sobrenome' : 'Daniela' ,
'Era' : 35 ,
'Número de telefone' : 65712165 ,
'Compromisso' : 'Médico Cardiologia' ,
'Cobranças' : 2000 ,
'Teste' : [ 'CT' , 'ressonância magnética' ]
} ,
{
'Primeiro nome' : 'Michelle' ,
'Sobrenome' : 'Paulo' ,
'Era' : 51 ,
'Número de telefone' : 54399288 ,
'Compromisso' : 'Dermatologista' ,
'Cobranças' : 8000 ,
'Teste' : [ 'Biópsias de pele' , 'Luz de Madeira' , 'Raspagem de pele' ]
} ,

{
'Primeiro nome' : 'André' ,
'Sobrenome' : 'Jerry' ,
'Era' : 69 ,
'Número de telefone' : 6108100 ,
'Compromisso' : 'Médico Cardiologia' ,
'Cobranças' : 7000 ,
'Teste' : [ 'ECG' , 'Glicose no sangue' , 'Ultrassom' ]
}
] )

A saída dos documentos inseridos anteriormente reconhece “true” e fornece os valores “insertedIds” para cada documento.









Exemplo 1: Operador $OR do MongoDB para corresponder aos documentos

A consulta básica do operador $or do MongoDB é implementada aqui, o que demonstra o funcionamento desse operador no MongoDB. Aqui, definimos uma consulta com o método find(). O método find() é ainda especificado com o operador $or. O operador $or ocupa dois campos, “Agendamento” e “Cobranças”, que são atribuídos com os valores. O operador $or corresponde ao valor do campo e recupera apenas os documentos cujos valores correspondem aos valores do campo. A estrutura de consulta do operador $or é fornecida a seguir:



db.Patients.find ( { $ou : [ { Compromisso: 'Dermatologista' } ,
{ Cobranças: 7000 } ] } ) .bonito ( )

Buscamos os documentos cuja “Consulta” é com “Dermatologista” e cujas “Taxas” são “7000”. O operador $or encontra resultados verdadeiros de ambos os valores de campo e retorna os documentos correspondentes na saída.





Exemplo 2: Operador $OR do MongoDB para corresponder a documentos inexistentes

Na consulta anterior do operador $or, buscamos os documentos correspondentes. Agora, recuperamos o documento inexistente da coleção “Paciente”. A seguinte consulta $or operator leva o documento cujo “Nome” é “Charles” e a “Consulta” é com o “Médico”. O operador $or corresponde a esses valores de campo na coleção “Pacientes” e gera os resultados após a correspondência.



db.Patients.find ( { $ou : [ { 'Primeiro nome' : 'Carlos' } , { 'Compromisso' : 'Médico' } ] } ) .bonito ( )

O operador $or tem um resultado verdadeiro e o outro tem um resultado falso. Como especificamos a “Consulta” com o valor “Médico” que não corresponde a nenhum dos documentos da coleção “Paciente”. Por isso, o operador $or retorna apenas o documento do campo correspondente que é “Paciente” como saída.

Exemplo 3: Operador $OR do MongoDB com vários argumentos

Fornecemos dois argumentos nas consultas anteriores do operador $or. Aqui, passamos mais de dois argumentos como a expressão do operador $or. Recuperamos o documento que corresponde a qualquer um dos valores do campo “Idade” que são fornecidos a ele. O requisito do operador $or é o mesmo para os vários argumentos de que uma das expressões deve ser verdadeira. A consulta para vários argumentos no operador $or é fornecida da seguinte forma:

db.Patients.find ( { 'Compromisso' : 'Médico Cardiologia' , $ou : [ { 'Era' : vinte } , { 'Era' : 35 } , { 'Era' : 69 } ] } )

Lá, temos dois resultados combinados que são obtidos do operador $or. Os valores de “Idade” que são “35” e “69” são comparados com os documentos “Pacientes” que são obtidos pelo operador $or e são exibidos no shell.

Exemplo 4: Operador $OR do MongoDB com agregação

O método agregado no MongoDB combina os registros em uma coleção. Portanto, eles podem ser usados ​​para diferentes operações. Executamos o operador $or no método de agregação que avalia uma ou mais expressões e retorna verdadeiro se alguma delas for avaliada como verdadeira. Caso contrário, a afirmação é considerada falsa.

Vamos ter a consulta do operador de agregação $ ou onde primeiro invocamos o método agregate() que, em seguida, implementa o $match e o $project que é especificado com o valor _id a ser correspondido do documento. Em seguida, definimos o campo “Idade” com o valor “1” porque queremos que este campo seja gerado apenas a partir de todos os documentos. Depois disso, definimos o atributo “Results” que possui a operação $or. O operador $or recebe a instrução condicional de $gt. A expressão “$gt:[“$Age”, 69]” fornece a idade cujo valor é maior que “69”. Os resultados dessa expressão são passados ​​para o operador $or e o operador $or retorna o documento que atende à condição especificada.

db.Patients.aggregate (
[
{ $correspondência : { _id: ObjectId ( '6391c61a4c91e007fb4f0228' ) } } ,
{ $projeto : {
_id: ObjectId ( '6391c61a4c91e007fb4f0227' ) ,
Era: 1 ,
Resultado: { $ou : [
{ $gt : [ ' $Idade ' , 69 ] }
] }
}
}
]
)

A “Idade” que é maior que “69” é “74” que é exibida no shell de saída junto com os “Resultados” que tem o valor “verdadeiro”.

Exemplo 5: Operador $OR do MongoDB invoca as condições

O operador $or do MongoDB é um operador lógico. Podemos usar esse operador lógico com o operador condicional. O operador $or retorna os resultados quando as condições são satisfeitas. Além disso, podemos invocar mais de uma condição no operador $or da qual uma deve ser verdadeira. Aqui, temos uma consulta do operador $or que é especificado com duas condições diferentes. A primeira condição é “{Charges:{$lt: 6000}}” que retorna o documento que é menor que o valor “Charges” de “6000”. A condição {Encargos:“$gt: 7000”} obtém o documento que é maior que o valor de “Encargos” de “7000”.

O operador $or fornece o documento correspondente quando essas condições são satisfeitas. Em seguida, especificamos os nomes dos campos que são mostrados apenas quando o operador $or fornece o documento correspondente.

db.Patients.find ( {
$ou : [
{ Cobranças: { $lt : 6000 } } ,
{ Cobranças: { $gt : 7000 } }
]
} , {
Primeiro nome: 1 ,
Cobranças: 1
} )

A saída exibe apenas os campos “FirstName” e “Charges” para os documentos correspondentes.

Exemplo 6: Operador $OR do MongoDB sem argumento

Todas as consultas implementadas com o operador $or são passadas com o valor do argumento. Agora, definimos a consulta do operador $or que não insere nenhum argumento. Quando o argumento vazio $ou consulta do operador é executado, ele avalia os resultados falsos. Damos uma consulta onde a operação $or é passada com a expressão vazia.

db.Patients.aggregate (
[
{ $correspondência : { _Eu iria: { $ em : [ ObjectId ( '6391c61a4c91e007fb4f0228' ) ] } } } ,
{ $projeto : {
_id: ObjectId ( '6391c61a4c91e007fb4f0227' ) ,
Resultado: { $ou : [ ] } }
}
]
)

Como o operador $or é fornecido com um argumento vazio, os resultados indicam um valor falso.

Exemplo 7: o operador $OR do MongoDB corresponde aos valores da matriz

Inserimos o array “Test” nos documentos que possuem valores diferentes. Usamos essa matriz para o operador $or para examinar os resultados. O operador $or na consulta a seguir é invocado dentro do método find(). O operador $or usa o array “Test” como uma expressão. A matriz “Test” usa o operador $in para identificar os documentos cujos valores de campo correspondem aos valores “MRI” e “CT” na matriz.

db.Patients.find ( { $ou : [ { Teste: { $ em : [ 'ressonância magnética' , 'CT' ] } } ] } ) .bonito ( )

Um documento é exibido no shell quando o operador de consulta $or é executado, o que mostra que o documento recuperado contém os valores de matriz especificados.

Conclusão

Este artigo do MongoDB ilustra o uso de uma consulta de operador $or do MongoDB para executar as operações OR lógicas em uma matriz que inclui duas ou mais expressões, bem como para recuperar os documentos que correspondem a pelo menos uma das expressões. O operador $or é consultado no shell do MongoDB para executar diferentes operações. O operador $or é usado em operadores condicionais como uma expressão e retorna os documentos com base nas declarações condicionais.