phpday 2025 - Call For Papers

CollectionModify::arrayInsert

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

CollectionModify::arrayInsertFügt ein Element in das Array eines Feldes ein

Beschreibung

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

Fügt dem Feld eines Dokuments ein Element hinzu. Mehrere Elemente eines Feldes werden als Array dargestellt. Im Gegensatz zu CollectionModify::arrayAppend(), wo das neue Element immer am Ende des Arrays angehängt wird, kann bei dieser Methode die Position für ein neues Element angegeben werden.

Parameter-Liste

collection_field

Bezeichnet das Element im Array, nach dem das neue Element eingefügt wird. Das Format dieses Parameters ist FIELD_NAME[ INDEX ], wobei FIELD_NAME der Name des Dokumentfeldes ist, dem das Element hinzugefügt werden soll, und INDEX der Index des Elements innerhalb des Feldes ist.

Das Feld INDEX ist nullbasiert, d. h. das erste Element des Arrays hat einen Index von 0.

expression_or_literal

Das neue Element, das nach FIELD_NAME[ INDEX ] eingefügt wird

Rückgabewerte

Gibt ein CollectionModify-Objekt zurück, das verwendet werden kann, um den Befehl auszuführen oder um weitere Operationen hinzuzufügen.

Beispiele

Beispiel #1 mysql_xdevapi\CollectionModify::arrayInsert()-Beispiel

<?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());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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