Estou tentando usar o mangusto para criar um banco de dados e uma coleção nele. Meu código é:
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();
Quando executo esse código, o mongoose cria uma coleção chamada UserInfo em vez de userinfo. Como forçar o nome da coleção no mangusto?
Respostas:
Isso deve servir
Veja este link da documentação do Mongoose para mais informações.
fonte
Se você estiver usando o mongoose 2.0.0, passe o nome da coleção como o terceiro argumento
fonte
O Mongoose adicionará 's' ao nome da coleção por padrão. Se você quiser evitar isso, basta passar como terceiro argumento o nome da coleção:
fonte
A estrutura da API de mongoose.model é esta:
O que o mongoose faz é que, quando nenhum argumento de coleção é passado, o Mongoose produz um nome de coleção pluralizando o nome do modelo. Se você não gostar desse comportamento, passe um nome de coleção ou defina a opção de nome de coleção de esquemas.
Exemplo:
ou
ou
fonte
Você precisa definir o nome da coleção em seu esquema.
fonte
Mantenedor do Mongoose aqui. Recomendamos fazer
mongoose.model('UserInfo', UserInfo, 'UserInfo');
, terceiro arg tomongoose.model()
é o nome da coleção. Aqui estão os documentos relevantes .fonte
Responda:
Explicação dos parâmetros:
fonte
o nome do seu modelo: userInfo.js
no arquivo de via expressa ou app.js
então em seu userInfo.js
fonte