Можете да създадете колекция с помощта на createCollection()
метод или в движение, докато вмъквате документ.
Колекциите са като контейнери за свързани документи. Те обикновено се използват за групиране на документи на подобна тема. Например, можете да имате имена на колекции като
потребители
, pageviews
, posts
, comments
и др.
Когато създадохме нашата база данни, създадохме колекция, наречена художници . Тази колекция ще съдържа документи с подробности за изпълнителя, като имена на изпълнителите, албуми, които са издали и др.
Два начина за създаване на колекция
Ето два начина за създаване на колекции:
- Можете да създадете колекция в движение, когато вмъквате документ (с помощта на
insert()
метод. - Можете също да създадете колекция изрично, като използвате
createCollection()
метод.
В движение
Когато използвате insert()
метод за вмъкване на документ, вие посочвате колекцията, в която ще бъде вмъкнат документът. Ако колекцията все още не съществува, тя ще бъде създадена.
Това е методът, който използвахме преди, когато създавахме нашите artists
събиране, докато вмъквате документ.
Ето кода, който използвахме:
db.artists.insert({ artistname: "The Tea Party" })
В този случай artists
колекцията не е съществувала преди, така че е създадена за нас.
Използване на createCollection()
Метод
Можете също да създавате колекции с помощта на createCollection()
метод. Това ви позволява да създавате колекция, без да вмъквате документ.
Ето пример за използване на createCollection()
метод:
db.createCollection("producers")
С опции
Можете също да зададете опции за колекцията, като използвате db.createCollection(name, options)
синтаксис.
Ето един пример:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
Достъпните полета от версия 3.2 на MongoDB са както следва.
Поле | Тип | Описание | ||||||
---|---|---|---|---|---|---|---|---|
capped | булева | Когато е зададено на true , създава ограничена колекция. Ограничената колекция е колекция с фиксиран размер, която автоматично презаписва най-старите си записи, когато достигне максималния си размер. Ако посочите true , трябва също да зададете максимален размер в size поле. | ||||||
autoIndexId | булева | Посочете false за да деактивирате автоматичното създаване на индекс на _id поле. От версия 3.2 на MongoDB това поле е отхвърлено и ще бъде премахнато във версия 3.4. | ||||||
size | номер | Максимален размер в байтове за ограничена колекция. Използва се само с ограничени колекции (игнорира се в други колекции). | ||||||
max | номер | Максимален брой документи, разрешен в ограничената колекция. Имайте предвид, че size полето има предимство пред max поле. Ако колекцията достигне ограничението си за размер, преди да е достигнато ограничението за документи, MongoDB така или иначе ще премахне документи. | ||||||
usePowerOf2Sizes | булева | Налице само в механизма за съхранение MMAPv1. Това поле е отхвърлено от версия 3.0. | ||||||
noPadding | булева | Налице само в механизма за съхранение MMAPv1. Деактивира силата на разпределението на 2 размера за колекцията. По подразбиране е false . | ||||||
storageEngine | документ | Налице само в механизма за съхранение на WiredTiger. Позволява конфигуриране на механизма за съхранение на база за всяка колекция при създаване на колекция. Синтаксисът е както следва:{ <storage-engine-name>: <options> } | ||||||
validator | документ | Позволява ви да зададете правила за валидиране или изрази за колекцията. Имайте предвид, че валидирането се прилага само при вмъкване и актуализиране на данни. Следователно данните, които вече съществуват в базата данни, не се потвърждават (докато не бъдат актуализирани). | ||||||
validationLevel | низ | Позволява ви да посочите колко стриктно се прилагат всички правила за валидиране към съществуващи документи по време на актуализация. Възможни стойности:
| ||||||
validationAction | низ | Указва дали трябва да възникне грешка или просто предупреждение, когато се вмъкнат невалидни документи. Ако възникне грешка, невалидните документи пак ще бъдат вмъкнати, но с предупреждение.
| ||||||
indexOptionDefaults | документ | Позволява ви да зададете конфигурация по подразбиране за индекси при създаване на колекция. Приема storageEngine документ със следния синтаксис:{ |