Ich versuche, mit Mungo eine Datenbank und eine Sammlung darin zu erstellen. Mein Code lautet:
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();
Wenn ich diesen Code ausführe, hat Mungo eine Sammlung mit dem Namen UserInfo anstelle von userinfo erstellt. Wie erzwinge ich den Sammlungsnamen im Mungo?
Antworten:
Das sollte es tun
Weitere Informationen finden Sie unter diesem Link in der Mongoose-Dokumentation.
quelle
Wenn Sie Mungo 2.0.0 verwenden, übergeben Sie den Sammlungsnamen als drittes Argument
quelle
Mongoose fügt dem Sammlungsnamen standardmäßig 's' hinzu. Wenn Sie dies vermeiden möchten, übergeben Sie einfach als drittes Argument den Namen der Sammlung:
quelle
Die API-Struktur von mongoose.model lautet wie folgt:
Was Mungo tut, ist, dass Mongoose, wenn kein Sammlungsargument übergeben wird, einen Sammlungsnamen durch Pluralisieren des Modellnamens erzeugt. Wenn Ihnen dieses Verhalten nicht gefällt, übergeben Sie entweder einen Sammlungsnamen oder legen Sie die Option Name der Schemasammlung fest.
Beispiel:
oder
oder
quelle
Sie müssen den Sammlungsnamen in Ihrem Schema festlegen.
quelle
Mungo-Betreuer hier. Wir empfehlen dies zu tun
mongoose.model('UserInfo', UserInfo, 'UserInfo');
. Das dritte Argumentmongoose.model()
ist der Name der Sammlung. Hier sind die relevanten Dokumente .quelle
Antworten:
Parameter Erläuterung:
quelle
Ihr Modellname: userInfo.js
in Expressroutendatei oder app.js.
dann in Ihrer userInfo.js
quelle