Стоит обратить внимание на ключ “_id” - этот ключ и значение ключа MongoDB автоматически генерирует для уникальной идентификации каждого документа в базе данных.
В базах данных 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:
В результате коллекция 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:
Формат m4b — не предусмотренное стандартом расширение для медиаконтейнера mp4. Это аудио-файл формата AAC ( Advanced Audio Coding ) поддерживающий закладки. В основном этот формат используется для аудиокниг и подкастов онлайн-магазинов компании Apple ( iTunes Store ).
Какие программы есть
Под macOS существует хорошее приложение для создания \ конвертирования книг в формате m4b. Это приложение называется Audiobook Builder.
Приложение отличное - простое, интуитивно понятное и имеет в себе все, что необходимо, ничего лишнего.
Но есть одна загвоздка - чтобы пользоваться данным приложением, нужно его купить ( во-первых ); а во-вторых - нужно приобрести технику Apple ( iMac, macBook ).
Для пользователей Linux вариантов в плане приложений для создания формата m4b не так уж много. Есть много гиковских - консоль, консольные утилиты. Можете сами погуглить - вариантов выпадет много, но все они на любителя, что называется.
Единственным ( на момент написания статьи ) “человеческим” вариантом является приложение под названием m4Baker.
m4Baker — небольшое Python / QT ( PyQT ) графическое приложение для создания iPod-совместимых аудиокниг формата m4b, с главами и обложками. Приложение бесплатное. Лицензия - GNU General Public License v3 ( GPLv3 ).
Установка m4Baker
Приложения m4Baker нет в официальном репозитории дистрибутива Linux Mint. Программу нужно устанавливать вручную, набором нескольких команд.
Итак, открываем терминал и последовательно запускаем на выполнение команды:
Можно объединить все в одну команду, конечно, но я оставил все команды разделенными для большей ясности процесса.
Установку пакетов я производил под Linux Mint 18 Cinnamon. Это аналог Ubuntu 16.04.1 LTS (Xenial Xerus).
Все пакеты нашлись в репозитории, кроме последнего - libsox-fmt-mp3. Его пришлось скачивать вручную по ссылке - Xenial/libsox-fmt-mp3. И устанавливать пакет libsox-fmt-mp3_14.4.1-5_amd64.deb также вручную, локально.
После того, как все вышеперечисленные пакеты успешно установлены, необходимо установить пакет программы m4Baker:
скачиваем дистрибутив программы m4Baker из GitHub-репозитория по ссылке - GitHub m4Baker
открываем директорию m4baker-master в терминале и запускаем команду установки программы m4Baker:
sudo python setup.py install--optimize=1
Эта команда установит программу m4Baker со всеми ее зависимостями.
Теперь можно запустить m4Baker любым удобным способом - через Start Menu, из командной строки консоли. У меня m4Baker успешно запустился через лаунчер Synapse.
Обзор m4Baker
m4Baker благодаря использованию SoX, faac и mp4v2 поддерживает большинство популярных аудио-форматов, есть возможность изменения и добавления метаданных, добавления обложки.
Первый запуск m4Baker выглядит таким образом:
Справка, представленная в самой программе m4Baker, является самодостаточной - ее полностью хватает для пользования.
Для загрузки mp3-файлов нужно нажать кнопку “Add Audiobook” ( иконка книги ), откроется диалоговое окно выбора файлов.
После загрузки файлы добавятся в список обработки:
Стоит обратить внимание, что выборка должна быть “чистой” - только mp3-файлы и никакого другого “мусора”, иначе программа m4Baker не запустится для обработки файлов.
В создаваемой m4b-аудиокниге возможно автоматическое разделение на части, возможна сортировка исходных файлов по имени или номеру трека (ID3-тегу), создание маркеров глав, перемещение глав между аудиокнигами:
Нажатие на кнопку “Procell all” ( иконка шестеренки ) запустит процесс создания файла формата m4b:
Замечания
OS Linux
Я протестировал приложение m4Baker на рабочей машине Linux Mint 18 Cinnamon. Файлы mp3-формата аудиокниги были успешно сконвертированы в файл формата m4b. На Linux Desktop данный файл успешно прослушивался.
OS Android
На Android ( v4.0.3 ) файл запускался с некоторой задержкой, но прослушивался ( Smart AudioBook Player ).
Из заметных недостатков - не отображается обложка ( cover ) аудиокниги, хотя при конвертации в программе m4Baker я добавлял обложку в описание к создаваемому файлу ( данная обложка присутсвует на скриншотах ).
macOS
Самый главный минус и разочарование. Файл m4b, созданный в программе m4Baker, у меня не открылся вообще под macOS Sierra ( 10.12 ).
Плейер iTunes не открыл файл и скромно промолчал о данном факте. QuickTime Player также не смог открыть файл, но сообщил мне о данном факте.
OS Windows
О системе Windows ничего сказать не могу, так как не пользуюсь данной операционной системой.
Заключение
Приложение m4Baker можно использовать для создания аудиокниг формата m4b под операционной системой Linux. Приложение удобно и просто в использовании.
Однако, данное приложение несколько сложно в установке, имеет не полный функционал. Созданные в этой программе аудиокниги проиигрываются не под всеми операционными системами и плейерами.
В программе отсутсвуют возможности для добавления дополнительных метаданных, таких как “Narrator”, “Year”, “Description”, “Copyright”. К минусам можно отнести и отсутсвие программы такого класса в безграничных репозиториях Ubuntu.
Увы, как мне кажется, пока у программы Audiobook Builder нет достойной альтернативы.