J'essaye d'utiliser la mangouste pour créer une base de données et une collection dedans. Mon code est:
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();
Lorsque j'exécute ce code, mangouste a créé une collection nommée UserInfo au lieu de userinfo. Comment forcer le nom de la collection en mangouste?
Réponses:
Cela devrait le faire
Voir ce lien de la documentation Mongoose pour plus d'informations.
la source
Si vous utilisez mongoose 2.0.0, passez le collectionName comme troisième argument
la source
Mongoose ajoutera des «s» au nom de la collection par défaut. Si vous voulez éviter cela, passez simplement comme troisième argument le nom de la collection:
la source
La structure de l'API de mongoose.model est la suivante:
Ce que mangouste fait, c'est que, lorsqu'aucun argument de collection n'est passé, Mongoose produit un nom de collection en mettant au pluriel le nom du modèle. Si vous n'aimez pas ce comportement, transmettez un nom de collection ou définissez votre option de nom de collection de schémas.
Exemple:
ou
ou
la source
Vous devez définir le nom de la collection dans votre schéma.
la source
Mainteneur de mangouste ici. Nous vous recommandons de faire
mongoose.model('UserInfo', UserInfo, 'UserInfo');
, le troisième argumentmongoose.model()
est le nom de la collection. Voici les documents pertinents .la source
Répondre:
Explication des paramètres:
la source
le nom de votre modèle: userInfo.js
dans un fichier d'itinéraire express ou app.js
puis dans votre userInfo.js
la source