Maison >base de données >MongoDB >Comment supprimer des éléments d'un tableau par index dans MongoDB ?
Vous pouvez supprimer des éléments du tableau par index en utilisant les deux étapes suivantes -
La première étape est la suivante -
db.yourCollectionName.update({}, {$unset : {"yourArrayFieldName.yourIndexValue" : 1 }});
La syntaxe ci-dessus placera une valeur nulle à l'emplacement de "yourIndexValue". Après cela, vous devez extraire les valeurs nulles du champ du tableau pour les supprimer des éléments du tableau.
La deuxième étape est la suivante -
db.yourCollectionName.update({}, {$pull : {"yourArrayFieldName" : null}});
Pour implémenter la syntaxe, créons une collection avec des documents. La requête pour créer une collection à l'aide de documents est la suivante :
> db.removeArrayElementByItsIndexDemo.insertOne({"InstructorName":"David", "InstructorAge":28,"InstructorSubject":["MongoDB","MySQL","Java","SQL Server","PL/SQL"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8abbfc6cea1f28b7aa0803") }
Affichez tous les documents de la collection à l'aide de la méthode find(). La requête est la suivante -
> db.removeArrayElementByItsIndexDemo.find().pretty();
Ce qui suit est le résultat -
{ "_id" : ObjectId("5c8abbfc6cea1f28b7aa0803"), "InstructorName" : "David", "InstructorAge" : 28, "InstructorSubject" : [ "MongoDB", "MySQL", "Java", "SQL Server", "PL/SQL" ] }
Il s'agit de la requête pour supprimer les éléments du tableau par index.
Étape 1 - La requête est la suivante -
> db.removeArrayElementByItsIndexDemo.update({}, {$unset : {"InstructorSubject.2" : 1 }}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Étape 2 -La requête est la suivante -
> db.removeArrayElementByItsIndexDemo.update({}, {$pull : {"InstructorSubject" : null}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Vérifions si l'élément du tableau "Java" a été supprimé. La requête est la suivante -
> db.removeArrayElementByItsIndexDemo.find().pretty();
Ce qui suit est le résultat -
{ "_id" : ObjectId("5c8abbfc6cea1f28b7aa0803"), "InstructorName" : "David", "InstructorAge" : 28, "InstructorSubject" : [ "MongoDB", "MySQL", "SQL Server", "PL/SQL" ] }
En regardant l'exemple de sortie, l'élément de tableau "Java" a été complètement supprimé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!