Próbuję użyć mangusty, aby utworzyć bazę danych i kolekcję w niej. Mój kod to:
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();
Kiedy uruchamiam ten kod, mongoose utworzył kolekcję o nazwie UserInfo zamiast userinfo. Jak wymusić nazwę kolekcji w Mangusta?
Odpowiedzi:
To powinno wystarczyć
Zobacz ten link w dokumentacji Mongoose, aby uzyskać więcej informacji.
źródło
Jeśli używasz mongoose 2.0.0, przekaż nazwę_kolekcji jako trzeci argument
źródło
Mongoose domyślnie doda „s” do nazwy kolekcji. Jeśli chcesz tego uniknąć, podaj jako trzeci argument nazwę kolekcji:
źródło
Struktura API modelu mongoose.model jest następująca:
To, co robi mongoose, polega na tym, że gdy nie jest przekazywany żaden argument kolekcji, Mongoose tworzy nazwę kolekcji, używając liczby mnogiej nazwy modelu. Jeśli nie podoba ci się to zachowanie, przekaż nazwę kolekcji lub ustaw opcję nazwy kolekcji schematów.
Przykład:
lub
lub
źródło
Musisz ustawić nazwę kolekcji w swoim schemacie.
źródło
Tutaj opiekun Mongoose. Zalecamy zrobienie tego
mongoose.model('UserInfo', UserInfo, 'UserInfo');
, trzeci argumentmongoose.model()
to nazwa kolekcji. Oto odpowiednie dokumenty .źródło
Odpowiedź:
Objaśnienie parametrów:
źródło
nazwa twojego modelu: userInfo.js
w pliku trasy ekspresowej lub app.js
następnie w pliku userInfo.js
źródło