変更履歴

この拡張モジュールのクラス/関数/メソッドには次のような変更がありました。

MongoDB PHP Driver 1.5.0

MongoDB 2.6 の新機能に対応しました。たとえば以下のようなものです。

  • 集約が、カーソルを返せるようになりました。
  • 集約パイプラインの explain が可能になりました。
  • コマンドやクエリに、maxTimeMS を設定できるようになりました。
  • コマンドベースの新しい MongoDB 書き込み API を、透過的にサポートしました。
  • MongoWriteBatch クラスが追加されました (新しい MongoDB 書き込み API を利用します)。
  • MongoDB Enterprise の機能 (Kerberos, LDAP, X509 など) に対応しました。
  • セカンダリからの読み込みで、受け入れ可能なレイテンシーを調整できるようになりました (secondaryAcceptableLatencyMS)。

このリリースでは、ドキュメントで非推奨とされていた機能のいくつかについて、 実際に非推奨のメッセージを出すようになりました。たとえば、以下のような機能がその対象です。

  • Mongo クラスのインスタンス作成
  • MongoCursor::slaveOkay() の呼び出し
  • MongoCollection の書き込み操作における "wtimeout" オプションおよび "safe" オプション
  • コアクラスの public プロパティの操作 ($collection->w など)

注意:

非推奨とされていた機能の中で、実際に削除されたものは、まだありません。

以下の挙動が、変わりました。

  • INI 項目 mongo.native_long を設定すると、32 ビットプラットフォームではエラーとなります。また、64 ビットプラットフォームでのデフォルトが true になりました。

MongoDB PHP Driver 1.4.0

1.4 系では、MongoDB サーバーへの接続を確立する方法が根本的に変わりました。 PHP ネイティブストリームを使うようになったので、PHP のストリームのオプションがすべて使えます。 さらに、実験的に、ストリームコンテキストのサポートも追加されました。

1.4.x 系ではまた、MongoDB 2.4.x のサポートも追加されています。

特筆すべき改良点はレプリカセットの処理で、中でも、 タイムアウトしたノードやさまざまな要員で到達できないノードの扱いが改善されました。 それ以外にも、ノード間での書き込み確認の問題にも対応しています。 また、SSL を使った接続にも対応し、接続文字列のオプションとして journal や fsync にも対応しました。

MongoDB PHP Driver 1.3.0

1.3 系では大きな変更が加わりました。 接続処理 が新しく書き直され (同時にプーリングが削除され) たり、 優先読み込み に対応したり、デフォルトの WriteConcerns確認付きになったりしました。新しく導入されたクラス MongoClient がこれらを扱います。 これは、非推奨になった Mongo クラスのかわりに使うものです。

また、複数の mongos インスタンス (Mongo Shard ルーター) に接続してロードバランシングができるようになりました。

その他の追加機能には、MongoLog のログ機能の改良 (接続処理のデバッグがしやすくなりました) や MongoCollection::aggregate メソッドによる » Aggregation Framework のサポートなどがあります。

既存のメソッドへの変更

既存のメソッドの中で、初期のバージョンから改良が加えられたものをまとめます。