PHP 8.4.2 Released!

CollectionModify::arrayInsert

(No version information available, might only be in Git)

CollectionModify::arrayInsertInsère un élément dans un champ de tableau

Description

public mysql_xdevapi\CollectionModify::arrayInsert(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify

Ajoute un élément à un champ d'un document, car plusieurs éléments d'un champ sont représentés sous forme de tableau. Contrairement à mysql_xdevapi\CollectionModify::arrayAppend() cette méthode permet de spécifier où le nouvel élément est inséré en définissant après quel élément, alors que mysql_xdevapi\CollectionModify::arrayAppend() ajoute toujours le nouvel élément à la fin du tableau.

Liste de paramètres

collection_field

Identifie l'élément du tableau après lequel le nouvel élément sera inséré. Le format de ce paramètre est FIELD_NAME[ INDEX ]FIELD_NAME est le nom du champ du document où ajouter l'élément, et INDEX est l'INDEX de l'élément dans le champ.

L'INDEX est basé sur zéro, donc le premier élément du tableau a un index de 0.

expression_or_literal

Le nouvel élément à insérer après FIELD_NAME[ INDEX ]

Valeurs de retour

Un objet CollectionModify qui peut être utilisé pour exécuter la commande, ou pour ajouter des opérations supplémentaires.

Exemples

Exemple #1 Exemple de mysql_xdevapi\CollectionModify::arrayInsert()

<?php
$session
= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}'
)
->
execute();

$collection
->modify("name in ('Bernie', 'Jane')")
->
arrayInsert('traits[1]', 'Happy')
->
execute();

$result = $collection
->find()
->
execute();

print_r($result->fetchAll());
?>

Résultat de l'exemple ci-dessus est similaire à :

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010d
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Happy
                    [2] => Brother
                    [3] => Human
                )
        )
)
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top