MongoDB\Driver\BulkWriteCommand::updateMany

(mongodb >=2.1.0)

MongoDB\Driver\BulkWriteCommand::updateMany β€” ДобавляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ updateMany

ОписаниС

public function MongoDB\Driver\BulkWriteCommand::updateMany(
Β Β Β Β string $namespace,
Β Β Β Β array|object $filter,
Β Β Β Β array|object $update,
Β Β Β Β ?array $options = null
): void

ΠœΠ΅Ρ‚ΠΎΠ΄ добавляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ updateMany Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ MongoDB\Driver\BulkWriteCommand. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ опрСдСляСт пространство ΠΈΠΌΡ‘Π½ namespace, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ filter.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

namespace (string)
ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ имя (Ρ‚. Π΅. "databaseName.collectionName").
filter (array|object)
Β»Β ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ запроса. ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ совпадёт со всСми элСмСнтами ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘Π£Π‘Π” MongoDB ΠΏΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² запроса сравниваСт Ρ‚ΠΈΠΏΡ‹ ΠΈ значСния ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ » правилам сравнСния BSON-Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ сравнСния ΠΈ Тонглирования Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π² PHP. ΠŸΡ€ΠΈ сопоставлСнии ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ BSON-Ρ‚ΠΈΠΏΠ° Π² запросС трСбуСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ BSON-класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Ρ‚ΠΈΠΏΡƒ BSON-значСния, поэтому для сопоставлСния с BSON-Ρ‚ΠΈΠΏΠΎΠΌ » ObjectId ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса MongoDB\BSON\ObjectId.

update (array|object)
Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ обновлСния Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ $set, Π»ΠΈΠ±ΠΎ » конвСйСр Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ.
options

ΠžΠΏΡ†ΠΈΠΈ
ΠžΠΏΡ†ΠΈΡ Π’ΠΈΠΏ ОписаниС Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
arrayFilters array Массив Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит условия Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты массива трСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ поля массива. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом рассказываСт страница руководства MongoDB Β»Β ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° arrayFilters для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ обновлСния массива.
collation array|object » БопоставлСниС позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ спСцифичныС для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка ΠΏΡ€Π°Π²ΠΈΠ»Π° для сравнСния строк, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° рСгистр Π±ΡƒΠΊΠ² ΠΈ надстрочныС Π·Π½Π°ΠΊΠΈ. Если Π·Π°Π΄Π°Π»ΠΈ сопоставлСниС, Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ "locale" Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ОписаниС ΠΏΠΎΠ»Π΅ΠΉ смотритС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ » БопоставлСниС. Если сопоставлСниС Π½Π΅ Π·Π°Π΄Π°Π»ΠΈ явно, Π½ΠΎ Ρƒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ сопоставлСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ ΠΎΠ½ΠΎ. Если Π½Π΅Ρ‚ Π½ΠΈ Ρ‚ΠΎΠ³ΠΎ Π½ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‚ΠΎ MongoDB Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простоС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ сравнСниС строк. Π­Ρ‚Π° опция доступна Π² MongoDB 3.4+ ΠΈ, Ссли Π±ΡƒΠ΄Π΅Ρ‚ использована для Π±ΠΎΠ»Π΅Π΅ старых вСрсий, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²ΠΎ врСмя исполнСния.
hint string|array|object БпСцификация индСкса. ΠžΠΏΡ†ΠΈΡ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈΠ±ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ индСкса Π² Π²ΠΈΠ΄Π΅ строки, Π»ΠΈΠ±ΠΎ шаблон ΠΊΠ»ΡŽΡ‡Π° индСкса. ΠŸΡ€ΠΈ установкС значСния систСма запросов ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ поиск Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΌΠΈ ΠΏΠ»Π°Π½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ сканированиС Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ индСкс.
upsert bool ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ вставляСт ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Ссли Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ filter Π½Π΅ соотвСтствуСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ создаётся ΠΏΡƒΡ‚Ρ‘ΠΌ примСнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° update ΠΊ значСниям ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ filter. false

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния послС выполнСния.

Ошибки

  • ΠŸΡ€ΠΈ ошибкС парсинга Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ MongoDB\Driver\Exception\InvalidArgumentException.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ добавлСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ обновлСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ MongoDB\Driver\BulkWriteCommand::updateMany()

<?php

$manager
= new MongoDB\Driver\Manager();

$bulk = new MongoDB\Driver\BulkWriteCommand();
$bulk->updateMany('db.coll', ['x' => ['$gt' => 1]], ['$set' => ['y' => 2]]);

$result = $manager->executeBulkWriteCommand($bulk);

?>

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы