MongoDB Pull

MongoDB Pull
Les tableaux sont quelques-uns des types de données les plus courants et les plus utiles en développement. Vous êtes obligé de rencontrer des valeurs de tableau lorsque vous travaillez avec des documents MongoDB.

Il est donc important de comprendre diverses opérations de tableau à MongoDB et comment nous pouvons les utiliser dans vos bases de données.

Pour ce post, nous nous concentrerons sur l'opérateur de traction MongoDB $. Cet opérateur vous permet de supprimer une valeur d'un tableau existant en fonction de la condition spécifiée.

Syntaxe de l'opérateur

Le formulaire suivant montre la syntaxe de l'opérateur et la prise en charge des paramètres:

$ pull: :,:,…

Le comportement suivant s'applique à l'opérateur de Pull $ dans les documents MongoDB:

  1. Définition de la condition sur les éléments de tableau qui ont intégré des documents, l'opérateur appliquera la condition spécifiée sur chaque élément de tableau en tant que collection de documents.
  2. Si la valeur spécifiée est un tableau, l'opérateur ne supprimera que les éléments qui correspondent à la valeur spécifiée, la commande inclusive.
  3. Si la valeur à supprimer est un document, l'opérateur supprimera les éléments avec des champs et des valeurs exacts, commandez exclusif.

Explorons l'opérateur $ Pull dans un environnement pratique.

Exemple pratique

Commençons par créer une collection de tests et ajouter quelques exemples de documents. Vous pouvez utiliser la requête comme indiqué ci-dessous:

db.CreateCollection ("utilisateurs")
ok: 1

Insérer des enregistrements d'échantillons.

db.utilisateurs.insertmany ([

_id: 1,
Nom: "William",
Département: "Développement de jeu",
Startyear: 2021,
Prise en charge de_langs: ["C ++", "Java", "C #", "Python"],
les technologies: [

"Docker": vrai,
"Niveau": "intermédiaire"
,

"ANSIBLE": vrai,
"Niveau": "débutant"

]],
pays: "États-Unis",
Salaire: 160000

])

Supposons que nous souhaitions supprimer «Python» du tableau pris en charge, nous pouvons exécuter une requête comme indiqué:

db.utilisateurs.UpdateMany (, $ pull: supportEd_langs: $ in: ["python"])

Cela devrait supprimer l'entrée «Python» du tableau pris en charge. La sortie résultante est comme indiqué:


"_id": 1.0,
"Nom": "William",
"Département": "Développement de jeu",
"Startyear": 2021.0,
"Prise en charge_langs": [
"C ++",
"Java",
"C #"
]],
"les technologies" : [

"Docker": vrai,
"Niveau": "intermédiaire"
,

"ANSIBLE": vrai,
"Niveau": "débutant"

]],
"pays": "États-Unis",
"Salaire": 160000.0

Nous pouvons voir que l'entrée «Python» a été supprimée du document.

Pour supprimer un élément d'un tableau de documents, nous pouvons exécuter une requête comme indiqué:

db.utilisateurs.UpdateMany (, $ pull: Technologies: "anible": true, "niveau": "débutant")

La commande ci-dessus supprimera l'élément du tableau des technologies qui contient deux documents.

Le document résultant est comme indiqué:

db.utilisateurs.trouver()

Sortir:


"_id": 1.0,
"Nom": "William",
"Département": "Développement de jeu",
"Startyear": 2021.0,
"Prise en charge_langs": [
"C ++",
"Java",
"C #"
]],
"les technologies" : [

"Docker": vrai,
"Niveau": "intermédiaire"

]],
"pays": "États-Unis",
"Salaire": 160000.0

À partir de la sortie ci-dessus, nous pouvons vérifier que l'élément avec le paramètre spécifié a été supprimé du tableau des technologies.

Conclusion

Cet article couvre les principes fondamentaux du travail avec l'opérateur de putain de $ dans MongoDB, vous permettant de supprimer les articles d'un tableau dans un document donné.