伊谢尔伦2017-04-24 09:14:02
フィールドの順序の変更について言及している場合、それは、JSON 自体がオブジェクトを順序のないフィールドのコレクションとして定義しているためです。ただし、MongoDB は属性の順序を積極的に維持します。
MongoDB は、次の場合を除き、書き込み操作後のドキュメント フィールドの順序を保持します。
- _id フィールドは常にドキュメントの最初のフィールドです。
- フィールド名の変更を含む更新により、ドキュメント内のフィールドの順序が変更される場合があります。
属性の順序が変わるのはなぜですか? これは、言語ごとにコレクションの実装が異なるためです。たとえば、Python の dict は順序を維持しないため、ドライバーに渡されるときに順序が変更されます。順序を維持したい場合、ドライバーは Python の SON などの順序付きコレクションを提供します。バージョン 2.6 での変更点: バージョン 2.6 以降、MongoDB はドキュメント内のフィールドの順序を積極的に保存しようとします。バージョン 2.6 より前では、MongoDB はドキュメント内のフィールドの順序を積極的に保存しませんでした。