Что такое collection
В базах данных MongoDB данные объединяются в коллекции - collection. В одной базе данных может быть от одной до многих collections.
Смысл collection - объединять однотипные данные. То есть данные, котороые можно объединить по какому-либо признаку.
Например, в базе данных animals может быть две collections - cats и dogs. В коллекции cats хранятся все данные, о которых можно сказать - “это данные по кошкам”. В коллекции dogs хранятся “все данные по собакам”.
Создание collection
В базе данных создать collection можно командой:
db.createCollection('NAME_COLLECTION')
Например, я создам две коллекции cats и dogs в базе данных animals. Для этого создам базу данных animals:
> use animals
switched to db animals
>
Создам коллекцию cats:
> db.createCollection('cats')
{ "ok" : 1 }
Создам коллекцию dogs:
> db.createCollection('dogs')
{ "ok" : 1 }
Посмотреть список существующих колекций базы данных можно командой:
show collections
Проверю, создались ли успешно коллеции cats и dogs в базе данных animals:
> show collections
cats
dogs
Переименование collection
Операция переименования collection в MongoDB выполняется командой:
db.collection.renameCollection('NEW_NAME')
Например, я создал коллекцию bird в базе данных animals:
> db.createCollection('bird')
{ "ok" : 1 }
> show collections
bird
cats
dogs
>
… и хочу переименовать эту коллецию в birds:
> db.bird.renameCollection('birds')
{ "ok" : 1 }
> show collections
birds
cats
dogs
>
В результате коллекция bird успешно переименована в birds.
Удаление collection
В MongoDB удаление коллекции выполняется командой:
db.COLLECTION_NAME.drop()
Например, я хочу удалить коллекцию birds из базы данных animals:
> db.birds.drop()
true
> show collections
cats
dogs
>
Коллекция birds успешно удалена из базы данных.
Создание collection - автоматический способ
В MongoDB имеется способ автоматического создания collection - путем добавления документа в новую коллецию при помощи метода insert.
Например, коллекции insects в базе данных animals не существует. В будущую коллекцию insects я добавлю документ cockroach и тем самым автоматически создам коллецию insects:
> db.insects.insert({ name: 'cockroach' })
WriteResult({ "nInserted" : 1 })
> show collections
cats
dogs
insects
>
На этом все.