リリース間近！MongoDB 2.6のリリースノート翻訳: 既存機能の変更点


そろそろリリースされそうなMongoDB 2.6のリリースノートの一部を翻訳しました。今回は[Compatibility Changes](http://docs.mongodb.org/master/release-notes/2.6/#compatibility-changes)です。残りは、[Changes](http://docs.mongodb.org/master/release-notes/2.6/#changes)と[MongoDB Enterprise Features](http://docs.mongodb.org/master/release-notes/2.6/#mongodb-enterprise-features)があります。近日中に翻訳します。
また、ところどころに2.5.xという表記がでますが、MongoDBでは2.5.xは開発バージョンで、2.6.xがリリースバージョンとなります。


注：MongoDB 2.6は年内リリース予定です。

元のリリースノートはこちら
http://docs.mongodb.org/master/release-notes/2.6/

他の翻訳
- [まとめ！MongoDB 2.6のリリースノート翻訳と所感](http://qiita.com/syokenz/items/a0be8a8bc8b79d471ccf)
- [リリース間近！MongoDB 2.6のリリースノート翻訳: Aggregation Pipelineの変更点](http://qiita.com/syokenz/items/e3a09442445478832a36)
- [リリース間近！MongoDB 2.6のリリースノート翻訳: 新登場のWrite Commandたち](http://qiita.com/syokenz/items/98feb3fe8511b78d8a2d)
- [リリース間近！MongoDB 2.6のリリースノート翻訳: 新機能と改善点](http://qiita.com/syokenz/items/50af0aee28c8adf0ae13)
- [リリース間近！MongoDB 2.6のリリースノート翻訳: エンタープライズ向け機能](http://qiita.com/syokenz/items/c3e4c5ec94152365c7d3)

## 目次

### 既存機能の変更
- SNMPエンタープライズIDの変更
- RPM, DEBパッケージでbind_ipのデフォルト値を設定
- isMasterコマンドにWireプロトコルバージョンが含まれました
- レプリカセットでのVote設定値のバリデーション
- メタデータリフレッシュでより厳密なチェック
- mongoシェルでのaggregate()メソッドの挙動の変更
- 認証と権限の非互換性
- LDAP認証とシャードクラスターの非互換性
- $modクエリーオペレーターへ厳格な文法の適用
- Updateオペレーションがフィールド名の制限を追加
- SSL証明のホスト名をバリデーション




## SNMP エンタープライズIDの変更

MongoDBのSNMPエンタープライズIDが37601から34601に変わりました。

## RPM、DEBパッケージでbind_ipのデフォルト値を設定

RPM、DEBパッケージでbind_ipのデフォルト値がlocalhostのみに設定されました。(訳注: そのままではlocalhostからしか接続できないので注意です。) これらのパッケージではデフォルトコンフィグレーションファイルでデフォルト値が設定されています。（例: /etc/mongodb.conf）

RPM、DEBパッケージ以外で10genから配布されているMongoDBではbind_ipのデフォルト値はありません。

## isMasterコマンドにWireプロトコルバージョンが含まれました

Wireプロトコルの変更をサポートするために、isMasterコマンドの出力にWireプロトコルの初期バージョンと最新バージョンの2つのフィールドが含まれました。詳細については[minMasterVersion](http://docs.mongodb.org/master/reference/replica-commands/#isMaster.minWireVersion)と[maxWireVersion](http://docs.mongodb.org/master/reference/replica-commands/#isMaster.maxWireVersion)を参照してください。
(訳注: Wireプロトコルとは、MongoDBとソケットレベルで通信するために用意されているプロトコルです。各言語のドライバで使われます。)
[MongoDB Wire Protocol](http://docs.mongodb.org/meta-driver/latest/legacy/mongodb-wire-protocol/)

## レプリカセットでのVote設定値のバリデーション

local.system.replset.members[n].votesに1または0の値を設定すると、1として扱われ警告メッセージを出すようになりました。

## メタデータリフレッシュで厳密なチェック

シャーディングクラスターで、MongoDB 2.6ではシャード名が明示的に設定されていない場合、メタデータをリフレッシュするようなシャーディングを禁止します。


## mongoシェルでのaggregate()メソッドの挙動の変更

db.collection.aggregate()はカーソルを返すようになりました。mongoシェルの2.5.3以降からMongoDB 2.4に接続し、aggregate()メソッドを使用することはできません。


## 認証と権限の非互換性

ユーザー権限モデルへの変更など、ユーザーの資格情報と権限を管理するための機能強化が導入されました。
MongoDB 2.4からアップグレードするには、新しいユーザー権限モデルへ既存のユーザーを変換する必要があります。


## LDAP認証とMixed シャードクラスターの非互換性

認証用のLDAPサポートが導入されました。ただし、MongoDB 2.4と2.6の両方を含むMixed シャードクラスターではLDAP認証をサポートしていません。


## $modクエリーオペレーターへ厳格な文法の適用

<code>$mod</code>オペレーターは、２つの要素を持つ配列のみ受け入れるようになりました。１以下の要素数や２つより多い要素数の配列ではではエラーとなります。


## Updateオペレーションがフィールド名の制限を追加

空のフィールド名を対象とするUpdateを実施できなくしました。
また、MongoDB 2.5.4以降ではドット(.)とドル記号($)を含むフィールド名の保存をサポートしません。<code>$unset</code>や<code>$rename</code>を使って名前を変更してください。


## SSL証明のホスト名をバリデーション

SSL証明書の検証で、Common Name (CN)とSubject Alternative Name (SAN)とサーバーのホスト名が一致することをチェックするようになりました。
現在のSSL証明書が、CNもSANもホスト名と一致していない場合、MongoDB 2.5.4に更新すると、SSL接続が失敗します。
上記の証明書を継続的に使用するために[sslAllowInvalidCertificates](http://docs.mongodb.org/master/reference/configuration-options/#sslAllowInvalidCertificates)が用意されています。