Документы¶
В основе MongoDB лежит документ: упорядоченный набор ключей со связанными значениями. Представление документа зависит от языка программирования, но большинство языков имеют естественную структуру данных, например ассоциативный массив, хеш или словарь. Например, в JavaScript документы представлены в виде объектов:
1 |
|
Этот простой документ содержит единственный ключ greeting
со значением Hello, world!
. Большинство документов будут более сложными по сравнению с этим и часто будут содержать несколько пар типа «ключ/значение»:
1 |
|
Как видно, значения в документах – это не просто «BLOB-объекты». Они могут относиться к одному из нескольких типов данных (или даже ко всему вложенному документу). В этом примере значение greeting
является строкой, тогда как значение views
– это целое число.
Ключи в документе – это строки. В ключе допустимо использование любого символа в кодировке UTF-8, за несколькими заметными исключениями:
- ключи не должны содержать символ
\0
(нулевой символ). Он используется для обозначения конца ключа; - символы
.
и$
обладают некоторыми специальными свойствами и должны использоваться только при определенных обстоятельствах, о чем будет рассказано в последующих главах. В целом они должны считаться зарезервированными, и драйверы будут жаловаться, если эти символы будут использоваться не по назначению.
MongoDB чувствительна к типу и регистру. Например, эти документы отличаются:
1 2 |
|
равно как и эти:
1 2 |
|
И еще одна важная вещь: документы в MongoDB не могут содержать дубликаты ключей. Например, приведенный ниже документ не является допустимым:
1 2 3 4 |
|