Существует ли набор предпочтительных соглашений об именах для прав MongoDB, таких как базы данных, коллекции, имена полей?
Я думал так:
- Базы данных: состоят из цели (слово в единственном числе) и заканчиваются на «db» - все строчные буквы: imagedb, resumedb, memberdb и т. Д.
- Коллекции: множественное число в нижнем регистре: изображения, резюме,
- Поля документа: lowerCamelCase, например, memberFirstName, fileName и т. Д.
источник
_id
, скорее всего, имеет префикс с подчеркиванием, чтобы следовать общепринятому соглашению JavaScript, которое указывает, что ключ должен быть внутренним / закрытым ключом. Другими словами,_id
он не предназначен для того, чтобы когда-либо редактировать его или представлять кому-либо, просматривающему данные коллекции.БАЗА ДАННЫХ
MongoDB приводит хороший пример:
Содержание из: https://docs.mongodb.com/manual/core/databases-and-collections/#databases
КОЛЛЕКЦИИ
Для коллекций я следую этим предложенным шаблонам, пока не найду официальную документацию MongoDB.
источник
Даже если об этом не указано никакого соглашения, ссылки для руководства последовательно называются в соответствии со ссылочной коллекцией в документации Mongo для отношений один-к-одному. Имя всегда следует за структурой
<document>_id
.Например, в
dogs
коллекции документ будет иметь ручные ссылки на внешние документы, названные так:Это следует соглашению Монго о присвоении
_id
имени идентификатору для каждого документа.источник
owner_id
Соглашение об именовании для коллекции
Чтобы назвать коллекцию, нужно принять несколько мер предосторожности:
Было бы хорошо не указывать символ «$» в имени коллекции, поскольку различные драйверы, доступные для базы данных, не поддерживают «$» в имени коллекции.
При создании имени базы данных необходимо учитывать следующее:
Чтобы получить больше информации. Пожалуйста, проверьте ссылку ниже: http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html
источник
Я думаю, что это все личные предпочтения. Мои предпочтения связаны с использованием NHibernate в .NET с SQL Server, поэтому они, вероятно, отличаются от того, что используют другие.
Честно говоря, это не имеет большого значения, если оно соответствует проекту. Просто приступай к работе и не парься в деталях: P
источник
Пока мы не получим SERVER-863, желательно, чтобы имена полей были как можно короче, особенно если у вас много записей.
В зависимости от вашего варианта использования имена полей могут иметь огромное влияние на хранилище. Не могу понять, почему это не является более высоким приоритетом для MongoDb, так как это окажет положительное влияние на всех пользователей. Если не сказать больше, мы можем начать описывать имена наших полей, не задумываясь о пропускной способности и стоимости хранения.
Пожалуйста, проголосуйте .
источник