Estoy tratando de usar mongoose para crear una base de datos y una colección en ella. Mi codigo es:
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/testdb');
var Schema = mongoose.Schema;
var UserInfo = new Schema({
username : String,
password : String
});
mongoose.model('UserInfo', UserInfo);
var user = db.model('UserInfo');
var admin = new user();
admin.username = "sss";
admin.password = "ee";
admin.save();
Cuando ejecuto este código, mongoose creó una colección llamada UserInfo en lugar de userinfo. ¿Cómo forzar el nombre de la colección en mangosta?
Respuestas:
Esto debería hacerlo
Consulte este enlace de la documentación de Mongoose para obtener más información.
fuente
Si está utilizando mongoose 2.0.0, pase el nombre de la colección como tercer argumento
fuente
Mongoose agregará 's' al nombre de la colección de forma predeterminada. Si desea evitar eso, simplemente pase como tercer argumento el nombre de la colección:
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 pluralizando 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
Debe establecer el nombre de la colección en su esquema.
fuente
Mantenedor de mangosta aquí. Recomendamos hacerlo
mongoose.model('UserInfo', UserInfo, 'UserInfo');
, el tercer argumentomongoose.model()
es el nombre de la colección. Aquí están los documentos relevantes .fuente
Responder:
Explicación de los parámetros:
fuente
el nombre de su modelo: userInfo.js
en el archivo de ruta expresa o app.js
luego en su userInfo.js
fuente