sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB - Crear una colección

Puede crear una colección usando createCollection() o sobre la marcha al insertar un documento.

Las colecciones son como contenedores para documentos relacionados. Por lo general, se utilizan para agrupar documentos de un tema similar. Por ejemplo, podría tener nombres de colección como usuarios , pageviews , posts , comments , etc.

Cuando creamos nuestra base de datos, creamos una colección llamada artistas . Esta colección contendrá documentos con detalles de los artistas, como los nombres de los artistas, los álbumes que han lanzado, etc.

Dos formas de crear una colección

Aquí hay dos formas de crear colecciones:

  • Puede crear una colección sobre la marcha al insertar un documento (usando el insert() método.
  • También puede crear una colección explícitamente, usando createCollection() método.

Sobre la marcha

Cuando usas insert() Para insertar un documento, especifique la colección en la que se insertará el documento. Si la colección aún no existe, se creará.

Este es el método que usamos anteriormente cuando creamos nuestros artists colección al insertar un documento.

Aquí está el código que usamos:

db.artists.insert({ artistname: "The Tea Party" })

En este caso, los artists La colección no existía anteriormente, por lo que fue creada para nosotros.

Usando createCollection() Método

También puede crear colecciones usando createCollection() método. Esto le permite crear una colección sin insertar un documento.

Aquí hay un ejemplo del uso de createCollection() método:

db.createCollection("producers")

Con opciones

También puede especificar opciones para la colección mediante db.createCollection(name, options) sintaxis.

He aquí un ejemplo:

db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )

Los campos disponibles a partir de la versión 3.2 de MongoDB son los siguientes.

Campo Tipo Descripción
capped booleano Cuando se establece en true , crea una colección limitada. Una colección limitada es una colección de tamaño fijo que sobrescribe automáticamente sus entradas más antiguas cuando alcanza su tamaño máximo. Si especifica true , también debe establecer un tamaño máximo en el size campo.
autoIndexId booleano Especifique false para deshabilitar la creación automática de un índice en el _id campo. A partir de la versión 3.2 de MongoDB, este campo está en desuso y se eliminará en la versión 3.4.
size número Tamaño máximo en bytes para una colección limitada. Solo se usa con colecciones limitadas (se ignora en otras colecciones).
max número Número máximo de documentos permitidos en la colección limitada. Tenga en cuenta que el size el campo tiene prioridad sobre el max campo. Si la colección alcanza su límite de tamaño antes de alcanzar el límite de documentos, MongoDB eliminará los documentos de todos modos.
usePowerOf2Sizes booleano Solo disponible en el motor de almacenamiento MMAPv1. Este campo está obsoleto desde la versión 3.0.
noPadding booleano Solo disponible en el motor de almacenamiento MMAPv1. Deshabilita el poder de asignación de 2 tamaños para la colección. El valor predeterminado es false .
storageEngine documento Solo disponible en el motor de almacenamiento WiredTiger. Permite la configuración del motor de almacenamiento por colección al crear una colección. La sintaxis es la siguiente:{ <storage-engine-name>: <options> }
validator documento Le permite especificar reglas de validación o expresiones para la colección. Tenga en cuenta que la validación solo se aplica al insertar y actualizar datos. Por lo tanto, los datos que ya existen en la base de datos no se validan (hasta que se actualizan).
validationLevel cadena Le permite especificar qué tan estrictamente se aplican las reglas de validación a los documentos existentes durante una actualización. Valores posibles:
off No se produce validación para inserciones o actualizaciones.
strict La validación ocurre para inserciones y actualizaciones. este es el valor predeterminado.
moderate Las reglas de validación solo se aplican a los válidos existentes documentos, pero no a los inválidos existentes documentos.
validationAction cadena Especifica si se debe producir un error, o simplemente una advertencia, cuando se insertan documentos no válidos. Si hay un error, los documentos inválidos aún se insertarán, pero con una advertencia.
error Especifica que se produce un error cuando se escribe un documento no válido y la operación falla.
warning Especifica que aún se pueden escribir documentos no válidos y que se registrará la advertencia.
indexOptionDefaults documento Le permite especificar una configuración predeterminada para los índices al crear una colección. Acepta un storageEngine documento con la siguiente sintaxis:{ : }