English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основное руководство по MongoDB

Дополнительное руководство по MongoDB

Создание коллекции MongoDB

В этой главе мы рассмотрим, как использовать MongoDB для создания набора.

Метод createCollection()

db.createCollection(name, options)Используется для создания набора в MongoDB.

Синтаксис

createCollection()Базовый синтаксис команды:

db.createCollection(name, options)

В команде:nameЭто имя набора, который нужно создать.OptionsЭто документ, который используется для指定 конфигурации набора.

ПараметрТипОписание
NameСтрокаИмя набора, который нужно создать
OptionsДокумент
(Опционально) Укажите параметры, касающиеся размера памяти и индексов

Параметр Options является опциональным, поэтому вам нужно только указать имя набора. Вот список доступных опций:

Поле
ТипОписание
cappedБулево(Опционально) Если установлено в true, то включается ограниченный набор. Ограниченный набор - это набор фиксированного размера, который автоматически перезаписывает earliest entries при достижении максимального размера.

Если установлено в true, то также необходимо указать параметр size.

autoIndexIdБулево(Опционально) Если установлено в true, то автоматически создается индекс на поле _id. По умолчанию false.
sizeЧисло(Опционально) Укажите максимальный размер ограниченного набора (в байтах). Если capped установлено в true,则需要 указать это поле.
maxЧисло(Опционально) Укажите максимальное количество документов, разрешенных в ограниченном наборе.

При вставке документа MongoDB сначала проверяет поле size в ограниченном наборе, затем поле max.

Пример

createCollection()Базовый синтаксис метода без опций выглядит следующим образом:

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>

Вы можете использовать команду: show collections Проверьте созданный набор.

>show collections
mycollection
system.indexes

 Ниже приведен пример: createCollection()Синтаксис метода включает несколько важных опций:

> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } ){
"ok" : 0,
"errmsg" : "BSON field 'create.autoIndexID' is an unknown field.",
"code" : 40415,
"codeName" : "Location40415"
}
>

В MongoDB вам не нужно создавать коллекцию. Когда вы вставляете某些 документы, MongoDB автоматически создает коллекцию.

>db.w3codebox.insert({"name" : "w3codebox"}),
>WriteResult({ "nInserted" : 1 })
>show collections
mycol
mycollection
system.indexes
w3codebox
>