MongoDB Pull

MongoDB Pull
Matrizes são alguns dos tipos de dados mais comuns e úteis em desenvolvimento. Você deve encontrar valores de matriz ao trabalhar com documentos do MongoDBB.

Portanto, é importante entender várias operações de matriz no MongoDB e como podemos usá -las em seus bancos de dados.

Para esta posta. Este operador permite remover um valor de uma matriz existente com base na condição especificada.

Sintaxe do operador

O formulário a seguir mostra a sintaxe do operador e o suporte ao parâmetro:

$ pull: :, ,,…

O comportamento a seguir se aplica ao operador $ pull nos documentos do MongoDB:

  1. Definindo a condição nos elementos da matriz que incorporam documentos, o operador aplicará a condição especificada em cada elemento da matriz como uma coleção de documentos.
  2. Se o valor especificado for uma matriz, o operador removerá apenas os elementos que correspondem ao valor especificado, ordem inclusiva.
  3. Se o valor a ser removido for um documento, o operador removerá os elementos com campos e valores exatos, encomende exclusivos.

Vamos explorar o operador $ pull em um ambiente prático.

Exemplo prático

Vamos começar criando uma coleção de testes e adicione alguns documentos de amostra. Você pode usar a consulta como mostrado abaixo:

dB.CreateCollection ("Usuários")
ok: 1

Insira registros de amostra.

dB.Usuários.InsertMany ([

_id: 1,
Nome: "William",
Departamento: "Desenvolvimento de Jogos",
StartYear: 2021,
Suporte_langs: ["C ++", "Java", "C#", "Python"],
Tecnologias: [

"Docker": verdadeiro,
"Nível": "intermediário"
,

"Ansible": verdadeiro,
"Nível": "Iniciante"

],
país: "Estados Unidos",
Salário: 160000

]))

Suponha que desejemos remover “Python” da matriz Supported_langs, podemos executar uma consulta como mostrado:

dB.Usuários.updatemany (, $ pull: supported_langs: $ in: ["python"])

Isso deve remover a entrada "python" da matriz suportada_lang. A saída resultante é como mostrado:


"_id": 1.0,
"Nome": "William",
"Departamento": "Desenvolvimento de Jogos",
"StartYear": 2021.0,
"Supported_langs": [
"C ++",
"Java",
"C#"
],
"Tecnologias": [

"Docker": verdadeiro,
"Nível": "intermediário"
,

"Ansible": verdadeiro,
"Nível": "Iniciante"

],
"país": "Estados Unidos",
"Salário": 160000.0

Podemos ver que a entrada "python" foi removida do documento.

Para remover um item de uma variedade de documentos, podemos executar uma consulta como mostrado:

dB.Usuários.updatemany (, $ pull: tecnologias: "Ansible": true, "nível": "iniciante")

O comando acima removerá o item da matriz de tecnologias que contém dois documentos.

O documento resultante é como mostrado:

dB.Usuários.encontrar()

Saída:


"_id": 1.0,
"Nome": "William",
"Departamento": "Desenvolvimento de Jogos",
"StartYear": 2021.0,
"Supported_langs": [
"C ++",
"Java",
"C#"
],
"Tecnologias": [

"Docker": verdadeiro,
"Nível": "intermediário"

],
"país": "Estados Unidos",
"Salário": 160000.0

A partir da saída acima, podemos verificar o item com o parâmetro especificado foi removido da matriz de tecnologias.

Conclusão

Este artigo abrange os fundamentos de trabalhar com o operador $ pull em MongoDB, permitindo que você remova os itens de uma matriz em um determinado documento.