Перейти к содержанию

Документы

В основе MongoDB лежит документ: упорядоченный набор ключей со связанными значениями. Представление документа зависит от языка программирования, но большинство языков имеют естественную структуру данных, например ассоциативный массив, хеш или словарь. Например, в JavaScript документы представлены в виде объектов:

1
{ "greeting": "Hello, world!" }

Этот простой документ содержит единственный ключ greeting со значением Hello, world!. Большинство документов будут более сложными по сравнению с этим и часто будут содержать несколько пар типа «ключ/значение»:

1
{ "greeting": "Hello, world!", "views": 3 }

Как видно, значения в документах – это не просто «BLOB-объекты». Они могут относиться к одному из нескольких типов данных (или даже ко всему вложенному документу). В этом примере значение greeting является строкой, тогда как значение views – это целое число.

Ключи в документе – это строки. В ключе допустимо использование любого символа в кодировке UTF-8, за несколькими заметными исключениями:

  • ключи не должны содержать символ \0 (нулевой символ). Он используется для обозначения конца ключа;
  • символы . и $ обладают некоторыми специальными свойствами и должны использоваться только при определенных обстоятельствах, о чем будет рассказано в последующих главах. В целом они должны считаться зарезервированными, и драйверы будут жаловаться, если эти символы будут использоваться не по назначению.

MongoDB чувствительна к типу и регистру. Например, эти документы отличаются:

1
2
{"count" : 5}
{"count" : "5"}

равно как и эти:

1
2
{"count" : 5}
{"Count" : 5}

И еще одна важная вещь: документы в MongoDB не могут содержать дубликаты ключей. Например, приведенный ниже документ не является допустимым:

1
2
3
4
{
  "greeting": "Hello, world!",
  "greeting": "Hello, MongoDB!"
}

Комментарии