¿Existe un conjunto de convenciones de nomenclatura preferidas para los derechos de MongoDB, como bases de datos, colecciones, nombres de campo?
Estaba pensando en estas líneas:
- Bases de datos: consisten en el propósito (palabra en singular) y terminan con "db" - todo en minúsculas: imagedb, resumedb, memberdb, etc.
- Colecciones: plural en minúsculas: imágenes, currículums,
- Campos del documento: lowerCamelCase, por ejemplo, memberFirstName, fileName, etc.
fuente
_id
probable que el identificador incorporado tenga como prefijo un guión bajo para seguir una convención común de JavaScript que indica que la clave debe ser una clave interna / privada. En otras palabras,_id
no está destinado a ser editado o presentado a nadie que vea los datos de una colección.BASE DE DATOS
MongoDB establece un buen ejemplo:
Contenido de: https://docs.mongodb.com/manual/core/databases-and-collections/#databases
COLECCIONES
Para las colecciones, sigo estos patrones sugeridos hasta que encuentre la documentación oficial de MongoDB.
fuente
Incluso si no se especifica ninguna convención sobre esto, las referencias manuales se nombran consistentemente después de la colección referenciada en la documentación de Mongo, para las relaciones uno a uno. El nombre siempre sigue la estructura
<document>_id
.Por ejemplo, en una
dogs
colección, un documento tendría referencias manuales a documentos externos llamados así:Esto sigue la convención de Mongo de nombrar
_id
el identificador para cada documento.fuente
owner_id
Convención de nomenclatura para colección
Para nombrar una colección, se deben tomar algunas precauciones:
Sería bueno no contener el carácter "$" en el nombre de la colección, ya que varios controladores disponibles para la base de datos no admiten "$" en el nombre de la colección.
Las cosas a tener en cuenta al crear un nombre de base de datos son:
Para más información. Por favor, consulte el siguiente enlace: http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html
fuente
Creo que todo es preferencia personal. Mis preferencias provienen del uso de NHibernate, en .NET, con SQL Server, por lo que probablemente difieran de lo que otros usan.
Honestamente, no importa demasiado, siempre y cuando sea consistente para el proyecto. Simplemente trabaje y no se preocupe por los detalles: P
fuente
Hasta que tengamos SERVER-863 es aconsejable mantener los nombres de campo lo más cortos posible, especialmente cuando tiene muchos registros.
Dependiendo de su caso de uso, los nombres de campo pueden tener un gran impacto en el almacenamiento. No puedo entender por qué esto no es una prioridad más alta para MongoDb, ya que tendrá un impacto positivo en todos los usuarios. Por lo menos, podemos comenzar a ser más descriptivos con nuestros nombres de campo, sin pensar dos veces en el ancho de banda y los costos de almacenamiento.
Por favor vote .
fuente