Por ejemplo, este código da como resultado la creación de una colección llamada "datos".
var Dataset = mongoose.model('data', dataSchema);
Y este código da como resultado una colección llamada "usuarios" que se crea
var User = mongoose.model('user', dataSchema);
Gracias
Respuestas:
Mongoose está tratando de ser inteligente haciendo que el nombre de su colección sea plural. Sin embargo, puedes forzarlo a que sea lo que quieras:
var dataSchema = new Schema({..}, { collection: 'data' })
fuente
La estructura API de mongoose.model es la siguiente:
Lo que hace Mangosta es que, cuando no se pasa ningún argumento de colección, Mongoose produce un nombre de colección al pluralizar el nombre del modelo. Si no le gusta este comportamiento, pase un nombre de colección o configure la opción de nombre de colección de esquemas.
Ejemplo:
o
o
fuente
A partir de mongoose 5.x, puede desactivarlo por completo:
fuente
Simplemente puede agregar una cadena como tercer argumento para definir el nombre real de la colección. Ampliando sus ejemplos, para mantener los nombres como
data
yuser
respectivamente:fuente
Puede agregar el nombre de la colección como tercer parámetro. Vea el ejemplo usando TypeScript:
fuente
Agregar la línea
mongoose.pluralize(null)
en su archivo Mongoose evitará la pluralización del nombre de la colección. No es necesario que agregue esta línea a sus archivos de modelo.Como se ve aquí .
fuente
Al final de definir su esquema en la siguiente línea, use este código
Suponiendo que su estado es lo que desea usar en su base de datos para evitar s como estados
Haga clic en el enlace para ver la imagen correctamente
fuente
Mongoose compila un modelo para usted cuando ejecuta este comando
El primer argumento es el nombre singular de la colección para la que es su modelo. Mongoose busca automáticamente la versión en plural y en minúsculas del nombre de su modelo. Por lo tanto, para el ejemplo anterior, el hijo modelo es para la colección de hijos en la base de datos.
Nota: la
.model()
función hace una copia del esquema. ¡Asegúrese de haber agregado todo lo que desea al esquema, incluidos los ganchos, antes de llamar.model()
!fuente