MongoGridFSException
mSQL
Mongo
PHP Manual

# Historique des modifications

Les modifications suivantes ont été apportées aux classes/fonctions/méthodes de cette extension.

### Driver PHP MongoDB 1.3.0

La série 1.3 introduit plusieurs modifications majeures à l'extension, comme la complète ré-écriture du gestionnaire de connexion (et la suppression du mécanisme de mise en file d'attente), le support des préférences de lecture et la modification de WriteConcerns devant être reconnu en introduisant une nouvelle classe MongoClient qui agit comme classe de remplacement pour la classe Mongo devenue pour l'occasion obsolète.

Le driver supporte maintenant la connexion à de multiples instances mongos (le routeur Mongo Shard) pour la balance de charge.

Mais aussi d'autres améliorations comme la fourniture de log pour un débogage simplifié du gestionnaire de connexion avec la classe MongoLog ainsi que le support du » Framework d'aggrégation via la méthode MongoCollection::aggregate().

### Modifications sur les méthodes existantes

Voici une liste de toutes les améliorations sur les méthodes existantes depuis leur création.

Version | Function | Description
--- | --- | ---
1.4.0 | MongoClient::__construct | Ajout de l'option "wTimeoutMS" en tant que remplacement de l'option "wTimeout".
| MongoCursor::hint | L'argument index supporte maintenant les noms d'index comme valeur. Pour les versions antérieures à 1.4.0, sur les valeurs sous forme de tableau ou d'objet étaient acceptées.
| MongoCursor::setFlag | Ajout du support du drapeau n°3 (OPLOG_REPLAY). Les versions antérieures à 1.4.0 émettront une alerte indiquant que le drapeau n'est pas supporté..
| MongoDB::createCollection | Dans les versions antérieures à 1.4.0, les options étaient toutes des arguments de la méthode. La signature de la fonction dans ces anciennes versions était : public MongoCollectionMongoDB::createCollection stringname boolcappedFALSE intsize0 intmax0 La signification de ces options est la même que celle décrite ci-dessus, dans l'argument options.
1.3.4 | MongoClient::__construct | Ajout des options "connectTimeoutMS" et "socketTimeoutMS".

1.3.3

MongoClient::getReadPreference

La valeur retournée a changé pour être consistante avec la méthode MongoClient::setReadPreference. La valeur type a été modifiée, passant d'un nombre à une chaîne de caractères, la valeur type_string a été supprimée, et la valeur tagsets exprime désormais les tags sous la forme d'une paire clé/valeur, au lieu d'une chaîne dont les valeurs étaient séparées par une virgule.

MongoCollection::getReadPreference

La valeur retournée a changé pour être consistante avec la méthode MongoCollection::setReadPreference. La valeur type a été modifiée, passant d'un nombre à une chaîne de caractères, la valeur type_string a été supprimée, et la valeur tagsets exprime maintenant les tags sous la forme d'une paire clé/valeur, au lieu d'une chaîne dont les valeurs sont délimitées par une virgule.

MongoDB::getReadPreference

La valeur retournée a changée pour être consistante avec la méthode MongoDB::setReadPreference. La valeur type a été changée, passant d'un nombre à une chaîne de caractères, la valeur type_string a été supprimée, et la valeur tagsets exprime maintenant les tags sous la forme d'une paire clé/valeur, au lieu d'une chaîne dont les valeurs étaient séparées par une virgule.

1.3.0 | MongoClient::close | Le paramètre connection a été ajouté. Avant cette version, seule la connexion en écriture était fermée par cette méthode.
| MongoClient::__construct | Ajout des options "readPreference", "readPreferenceTags", "w" et "wTimeout".
| MongoCollection::ensureIndex | Le paramètre options n'accepte plus que les booléens pour identifier un index unique. A la place, il peut contenir un tableau dont la syntaxe est la suivante : array('unique' => true).
| MongoCollection::insert | Le paramètre options n'accepte plus de booléen pour indiquer une insertion reconnue. A la place, ceci doit maintenant être effectué via array('w' => 1) (Le comportement par défaut de MongoClient).
| MongoCollection::remove | Le paramètre options n'accepte plus de booléen pour indiquer "justOne". A la place, ceci doit être indiqué via array('justOne' => true).
| MongoCollection::update | Le paramètre options n'accepte plus de booléen pour indiquer un upsert. A la place, ceci doit être effectué via array('upsert' => true).
| MongoDB::listCollections | Ajout du paramètre includeSystemCollections.
| MongoGridFSCursor::key | L'_id du document est retourné sous forme de chaîne de caractères, sachant que la clé doit être unique. Avant la version 1.3.0, filename était retourné.
1.2.11 | Mongo::getPoolSize | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| Mongo::getSlave | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| Mongo::getSlaveOkay | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| Mongo::poolDebug | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| Mongo::setSlaveOkay | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| Mongo::switchSlave | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoBinData::__construct | Lance une alerte de niveau E_DEPRECATED lorsque le second argument n'est pas utilisé. La valeur par défaut du paramètre type peut changer dans de futures versions.
| MongoCollection::ensureIndex | Lance une alerte de niveau E_DEPRECATED lorsque le paramètre options est de type scalar.
| MongoCollection::getSlaveOkay | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoCollection::group | Lance une alerte de niveau E_DEPRECATED lorsque le paramètre options est de type scalar.
| MongoCollection::remove | Lance une alerte de niveau E_DEPRECATED lorsque le paramètre options est de type scalar.
| MongoCollection::setSlaveOkay | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoCollection::update | Lance une alerte de niveau E_DEPRECATED lorsque le paramètre options est de type scalar.
| MongoCursor::doQuery | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoDB::authenticate | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé. Veuillez passer les détails d'authentification au constructeur.
| MongoDB::forceError | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoDB::getSlaveOkay | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoDB::prevError | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoDB::resetError | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoDB::setSlaveOkay | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoPool::getSize | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoPool::info | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
| MongoPool::setSize | Lance une alerte de niveau E_DEPRECATED lorsqu'utilisé.
1.2.10 | MongoClient::getHosts | Le support de l'absence de jeu de réplication a été ajouté. Les éléments de tableau retournés incluent à présent également le hostname et le port.
1.2.7 | MongoCollection::batchInsert | Le drapeau "continueOnError" a été ajouté.
1.2.5 | MongoGridFS::storeUpload | Modification du second paramètre en un tableau de méta-données. Avant la version 1.2.5, le second paramètre étaient une chaîne optionnelle permettant d'écraser le nom du fichier.
1.2.0 | MongoClient::close | Avant la version 1.2.0, le driver n'utilisait pas les connexions persistentes par défaut, et toutes les connexions étaient fermées dès que une connexion MongoDB sortait du scope. Depuis la version 1.2.0, ce n'est plus le cas et c'est une mauvaise idée d'appeler la méthode close car vous pourriez finir par surcharger le serveur avec des connexions à haute charge.

MongoClient::__construct

Ajout des options "username" et "password". Suppression de l'option "persist", toutes les connexions sont désormais persistantes. Le paramètre peut tout de même être utilisé, il sera simplement ignoré. "persist" Si la connexion doit être persistante. La chaine représentant la valeur est utilisée comme identifiant de connexion, ainsi deux instances de MongoClient qui sont initialisées avec array("persist" => "foobar") vont partager la même connexion à la base, alors que une instance initialisée avec array("persist" => "barbaz") utilisera une connexion différente. Le paramètre "replicaSet" accepte maintenant une chaine, pas un booléen.

| MongoCollection::ensureIndex | Ajout de l'option "timeout".
| MongoCollection::insert | Ajout de l'option "timeout".
| MongoCollection::remove | Ajout de l'option "timeout".
| MongoCollection::save | Ajout de l'option "timeout".
| MongoCollection::update | Ajout de l'option "timeout".
| MongoDB::command | Ajout du paramètre options avec une seule option : "timeout".
1.1.0 | MongoCursor::info | Ajout de quelques champs, incluant id (l'identifiant de curseur), at (le compteur du driver du document courant), numReturned (le nombre retourné par le serveur dans le batch courant), et server (le serveur sur lequel la requête a été émise ; utile en plus de ).
1.0.11 | MongoCollection::ensureIndex | L'option "safe" déclenchera le failover du primaire, si nécessaire. MongoException sera envoyée si le nom de l'index (généré ou défini) est plus long que 128 octets.
| MongoCollection::insert | Se déconnecte lors d'erreurs "not master" si "safe" est utilisé.
| MongoCollection::remove | Se déconnecte lors d'erreurs "not master" si "safe" est utilisé.
| MongoCollection::save | Se déconnecte lors d'erreurs "not master" si "safe" est utilisé.
| MongoCollection::update | Se déconnecte lors d'erreurs "not master" si "safe" est utilisé.
1.0.10 | MongoCursor::info | Ajout du champ started_iterating, un booléen indiquant si le curseur est antérieur ou postérieur à la requête.
1.0.9 | MongoClient::__construct | Ajout de l'option "replicaSet".
| MongoCollection::batchInsert | Ajout de la possibilité de passer des entiers à l'option "safe" (auparavant, seuls les booléens étaient acceptés). Ajout de l'option "fsync".
| MongoCollection::insert | Ajout de la possibilité de passer des entiers à l'option "safe" (auparavant, seuls les booléens étaient acceptés). Ajotu de l'option "fsync". Le type retourné a changé. C'est maintenant un tableau contenant les informations d'erreur si l'option "safe" est utilisée, sinon, c'est un booléen, comme auparavant.
| MongoCollection::remove | Ajout de la capacité de passer des entiers à l'option "safe" (n'acceptaient que des booléens avant). Ajout de l'option "fsync". Le type retourné a été modifié en un tableau contenant les informations de l'erreur si l'option "safe" est utilisée, sinon, ce sera un booléen comme auparavant.
| MongoCollection::save | Possibilité de passer des entiers pour l'option "safe" (n'acceptait que des booléen avant). Ajout de l'option "fsync".
| MongoCollection::update | Ajout de la possibilité de passer des entiers à l'option "safe" (auparavant, seuls les booléens étaient acceptés). Ajout de l'option "fsync". Le type retourné a été modifié en un tableau contenant les informations de l'erreur si l'option "safe" est utilisé, sinon, ce sera un booléen comme auparavant.
1.0.7 | MongoCollection::count | Ajout des paramètres limit et skip.
1.0.5 | MongoCollection::batchInsert | Ajout du paramètre options.
| MongoCollection::ensureIndex | Ajout de l'option "name" pour écraser la création du nom de l'index.
| MongoCollection::insert | Modification du second paramètre en un tableau d'options. Avant la version 1.0.5, le second paramètre était un booléen indiquant l'option "safe".
| MongoCollection::remove | Modification du second paramètre en un tableau d'options. Pre-1.0.5, le second paramètre était un booléen indiquant l'option "safe".
| MongoCollection::save | Ajout du paramètre options.
| MongoCollection::update | Ajout de l'option "safe".
1.0.2 | MongoClient::__construct | Le constructeur a changé pour accepter une tableau. Avant 1.0.2, le constructeur acceptait les paramètres suivants : server Nom du serveur. connect Paramètre optionnel indiquant si le constructeur doit se connecter à la base avant de retourner l'objet. Par défaut TRUE. persistent Si la connexion doit être persistante. paired Si la connexion doit être pairée.
| MongoCollection::ensureIndex | Le paramètre options passe de booléen à un tableau. En version Pre-1.0.2, le second paramètre était une valeur booléenne optionnelle spécifiant un index unique.
1.0.1 | MongoCollection::insert | Lance une exception MongoCursorException si l'option "safe" est définie et que l'insertion échoue.
| MongoCollection::update | Le paramètre options passe de booléen à un tableau. En version Pre-1.0.1, le second paramètre était une valeur booléenne optionnelle, spécifiant un upsert.

MongoGridFSException
mSQL
Mongo
PHP Manual