문서: 키-값 쌍의 정렬된 집합
문서는 집합이므로 각 멤버에 대한 인스턴스가 하나씩 있다. 멤버란 키-값 쌍을 말한다.
예를 들어 다음은 'foo': 'a', 'bar': 'b', 'baz': 'c'라는 멤버 3개로 구성된 집합을 표현한 것이다.
{'foo': 'a', 'bar': 'b', 'baz': 'c'}
이 집합의 내용을 약간만 변경하면 집합의 성격을 잃어버린다.1
{'foo': 'a', 'bar': 'b', 'baz': 'c', 'foo': 'a'}
키-값 쌍에 'foo': 'a'라는 인스턴스 두 개가 있기 때문에 이 키 값 리스트는 집합이 아니다.
집합은 순서에 영향을 받지 않는다. 다음 두 집합은 같다.
{'foo': 'a', 'bar': 'b', 'baz': 'c'} {'baz': 'c', 'foo': 'a', 'bar': 'b'}
하지만 문서 데이터베이스의 설계 목적에 따르면 이들은 서로 다른 문서다. 키-값 쌍의 순서는 문서의 신원을 결정하는 데 중요한 역할을 한다. {'foo': 'a', 'bar': 'b', 'baz': 'c'} 문서는 {'baz': 'c', 'foo': 'a', 'bar': 'b'}와 다르다.
1 역주 여기서 말하는 집합은 중복값이 없는 문서를 의미하며 중복값이 있는 문서를 nonset, 또는 bag이라고 한다.