MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB - Създаване на колекция

Можете да създадете колекция с помощта на 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 низ Позволява ви да посочите колко стриктно се прилагат всички правила за валидиране към съществуващи документи по време на актуализация. Възможни стойности:
off Не се извършва проверка за вмъквания или актуализации.
strict Провежда се валидиране за вмъквания и актуализации. това е стойността по подразбиране.
moderate Правилата за валидиране се прилагат само към съществуващи валидни документи, но не и на съществуващи невалидни документи.
validationAction низ Указва дали трябва да възникне грешка или просто предупреждение, когато се вмъкнат невалидни документи. Ако възникне грешка, невалидните документи пак ще бъдат вмъкнати, но с предупреждение.
error Указва, че възниква грешка, когато се записва невалиден документ и операцията е неуспешна.
warning Указва, че все още могат да бъдат записани невалидни документи и че предупреждението ще бъде регистрирано.
indexOptionDefaults документ Позволява ви да зададете конфигурация по подразбиране за индекси при създаване на колекция. Приема storageEngine документ със следния синтаксис:{ : }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заявка Mongoose, където стойността не е нула

  2. MongoDB $project:Запазване на предишни полета на конвейера

  3. Множество препратки към схеми в един масив от схеми - mongoose

  4. mongodb nodejs - преобразуваща кръгова структура

  5. Как да изчистите конзолата в MongoDB