Mongodb Pull

Mongodb Pull
Gli array sono alcuni dei tipi di dati più comuni e utili in sviluppo. Sei destinato a imbatterti in valori di array quando lavori con i documenti MongoDB.

È quindi importante comprendere varie operazioni di array in MongoDB e come possiamo usarle nei tuoi database.

Per questo post, ci concentreremo sull'operatore MongoDB $ pull. Questo operatore consente di rimuovere un valore da un array esistente in base alla condizione specificata.

Sintassi dell'operatore

Il seguente modulo mostra la sintassi dell'operatore e il supporto dei parametri:

$ pull: :, :,…

Il seguente comportamento si applica all'operatore $ pull nei documenti MongoDB:

  1. Definizione della condizione sugli elementi dell'array che incorporano documenti, l'operatore applicherà la condizione specificata su ciascun elemento dell'array come raccolta di documenti.
  2. Se il valore specificato è un array, l'operatore rimuoverà gli elementi solo in quella corrispondenza del valore specificato, ordina inclusiva.
  3. Se il valore da rimuovere è un documento, l'operatore rimuoverà gli elementi con campi e valori esatti, ordina esclusiva.

Esploriamo l'operatore $ pull in un ambiente pratico.

Esempio pratico

Iniziamo creando una raccolta di test e aggiungi alcuni documenti di esempio. È possibile utilizzare la query come mostrato di seguito:

db.createcollection ("utenti")
ok: 1

Inserire i record di esempio.

db.utenti.InsertMany ([

_id: 1,
Nome: "William",
Dipartimento: "Sviluppo del gioco",
Startyear: 2021,
Supported_Langs: ["C ++", "Java", "C#", "Python"],
Tecnologie: [

"Docker": vero,
"Livello": "intermedio"
,

"Ansible": vero,
"Livello": "Principiante"

",
Paese: "Stati Uniti",
Stipendio: 160000

])

Supponiamo di voler rimuovere "Python" dall'array supportato_langs, possiamo eseguire una query come mostrato:

db.utenti.UpdateMany (, $ pull: supportad_langs: $ in: ["Python"])

Questo dovrebbe rimuovere la voce "Python" dall'array supportato_lang. L'output risultante è come mostrato:


"_id": 1.0,
"Nome": "William",
"Dipartimento": "Sviluppo del gioco",
"Startyear": 2021.0,
"Supported_langs": [
"C ++",
"Giava",
"C#"
",
"Tecnologie": [

"Docker": vero,
"Livello": "intermedio"
,

"Ansible": vero,
"Livello": "Principiante"

",
"Paese": "Stati Uniti",
"Stipendio": 160000.0

Possiamo vedere che la voce "Python" è stata rimossa dal documento.

Per rimuovere un elemento da un array di documenti, possiamo eseguire una query come mostrato:

db.utenti.UpdateMany (, $ pull: tecnologies: "ansible": true, "livello": "principiante")

Il comando sopra rimuoverà l'elemento dall'array di tecnologie che contiene due documenti.

Il documento risultante è come mostrato:

db.utenti.Trovare()

Produzione:


"_id": 1.0,
"Nome": "William",
"Dipartimento": "Sviluppo del gioco",
"Startyear": 2021.0,
"Supported_langs": [
"C ++",
"Giava",
"C#"
",
"Tecnologie": [

"Docker": vero,
"Livello": "intermedio"

",
"Paese": "Stati Uniti",
"Stipendio": 160000.0

Dall'output sopra, possiamo verificare che l'elemento con il parametro specificato è stato rimosso dall'array di tecnologie.

Conclusione

Questo articolo copre i fondamenti del lavoro con l'operatore $ pull a MongoDB, che consente di rimuovere gli articoli da un array in un determinato documento.