Estoy intentando el ejemplo "Desarrollar una API REST Usando Node.js Con Express y Mangosta" y me encontré con un problema con el esquema MongoDB:MongoDB: eliminar restricción única
POST:
{ title: 'My Awesome T-shirt 2',
description: 'All about the details. Of course it\'s black.',
style: '12345' }
{ [MongoError: E11000 duplicate key error index: ecomm_database.products.$style_1 dup key: { : "12345" }]
name: 'MongoError',
err: 'E11000 duplicate key error index: ecomm_database.products.$style_1 dup key: { : "12345" }',
hay un único contraint en la definición del esquema:
var Product = new Schema({
title: { type: String, required: true },
description: { type: String, required: true },
style: { type: String, unique: true },
modified: { type: Date, default: Date.now } });
¿cómo me deshago de eso? Cuando elimino unique: true y reinicio la aplicación, el esquema no se actualiza.
¿Cómo maneja mongodb "altera" el esquema?
Eso funcionó. Para la referencia: > use ecomm_database > db.products.dropIndexes(); { \t "nIndexesWas": 2, \t "MSG": "los índices no _id cayeron para la recolección", \t "ok": 1} –
"MongoDB es * sin esquema *" ... ¿por qué, entonces, ¿hay una sección completa en su documentación sobre el diseño del esquema? http://www.mongodb.org/display/DOCS/Schema+Design –
@ZaidMasud: una descripción del proceso con menos connotaciones que "diseño de esquema" podría ser "modelado de datos" :). Los datos tienen que tomar una forma nominal (es decir, usted todavía debe considerar * el diseño del esquema * para planificar sus datos, consultas e índices) ... pero no se aplica ningún * esquema * rígido en un documento o nivel de recopilación. Este es un contraste distinto del enfoque SQL de un [esquema fijo] (http://en.wikipedia.org/wiki/Information_schema) por tabla, donde cada campo tiene un tipo y tamaño específico. – Stennie