MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__constructConstruit un WriteConcern

Description

final public function MongoDB\Driver\WriteConcern::__construct(string|int $w, ?int $wtimeout = null, ?bool $journal = null)

Construit un nouveau MongoDB\Driver\WriteConcern, qui est un objet de valeur immuable.

Liste de paramètres

w

Write concern
Valeur Description
1 Demande l'accusé de réception que l'opération d'écriture s'est propagée au mongod autonome ou au principal dans un jeu de réplicas. Il s'agit du write concern par défaut pour MongoDB.
0 Ne demande aucun accusé de réception de l'opération d'écriture. Toutefois, cela peut renvoyer des informations sur les exceptions de socket et les erreurs de mise en réseau à l'application.
<entier supérieur à 1> Les nombres supérieurs à 1 sont valides uniquement pour les jeux de réplicas pour demander l'accusé de réception à partir du nombre spécifié de membres, y compris le principal.
MongoDB\Driver\WriteConcern::MAJORITY Demande l'accusé de réception que les opérations d'écriture se sont propagées à la majorité des nœuds votants, y compris le principal, et ont été écrites dans le journal sur disque pour ces nœuds. Avant MongoDB 3.0, il s'agit de la majorité des membres du jeu de réplicas (et pas seulement des nœuds votants).
string Une valeur de chaîne est interprétée comme un jeu de balises. Demande l'accusé de réception que les opérations d'écriture se sont propagées à un membre de jeu de réplicas avec la balise spécifiée.

wtimeout
Délai d'attente maximal (en millisecondes) avant que les secondaires n'échouent. wtimeout fera que les opérations en écriture vont retourner une erreur (WriteConcernError) après le délai spécifié, même si le write concern requis finit par être satisfait. Lorsque ces opérations en écriture retournent, MongoDB ne va pas annuler les modifications de données réussies effectuées avant que le write concern n'ait dépassé le délai limite wtimeout. Si spécifié, wtimeout doit être un entier signé 64 bits supérieur ou égal à zéro.

Délai d'attente du write concern
Valeur Description
0 Bloc indéfiniment. C'est le comportement par défaut.
<entier supérieur à 0> Nombre de millisecondes à attendre avant de retourner.

journal
Attente avant que mongod n'applique l'écriture au journal.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
  • Lève une exception MongoDB\Driver\Exception\InvalidArgumentException si w est invalide ou wtimeout est négatif ou supérieure aux limites d'un entier signé 32 bits.

Historique

Version Description
PECL mongodb 1.7.0 Le paramètre wTimeout accepte désormais des valeurs 64-bit.

Exemples

Exemple #1 Exemple avec MongoDB\Driver\WriteConcern::__construct()

<?php

/* Demande une confirmation des requêtes en écriture pour la majorité des nœuds
du jeux de réplication */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);

/* Demande une confirmation des requêtes en écriture, configurée par la balise
"MultipleDC" */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);

?>