Я пытаюсь использовать мангуста для создания базы данных и коллекции в ней. Мой код:
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();
Когда я запускаю этот код, mongoose создал коллекцию с именем UserInfo вместо userinfo. Как заставить имя коллекции в мангусте?
Ответы:
Это должно сделать это
См. Эту ссылку в документации Mongoose для получения дополнительной информации.
источник
Если вы используете mongoose 2.0.0, передайте collectionName в качестве третьего аргумента.
источник
По умолчанию Mongoose добавит "s" к имени коллекции. Если вы хотите избежать этого, просто передайте в качестве третьего аргумента имя коллекции:
источник
Структура API mongoose.model такова:
Мангуст делает следующее: если аргумент коллекции не передается, Mongoose создает имя коллекции, формируя имя модели во множественном числе. Если вам не нравится такое поведение, передайте имя коллекции или установите параметр имени коллекции схем.
Пример:
или
или
источник
Вам необходимо указать название коллекции в вашей схеме.
источник
Сопровождающий Mongoose здесь. Мы рекомендуем сделать
mongoose.model('UserInfo', UserInfo, 'UserInfo');
, третий аргументmongoose.model()
- это имя коллекции. Вот соответствующие документы .источник
Ответ:
Описание параметров:
источник
название вашей модели: userInfo.js
в файле экспресс-маршрута или app.js
затем в вашем userInfo.js
источник