Вы должны определенно использовать некоторые переменные / идентификаторы для хранения соединения, как описано в документации Mongoose здесь .
console.log
ваш config
и проверьте, правильно ли они выбираются.
Сообщество также помогает лучше, если вы предоставляете больше деталей и используете фрагменты кода вместо скриншотов.
Затем проверьте, начинается ли URL-адрес вашей базы данных с mongodb://
.
А затем у вас есть орфографическая ошибка на line 19
, когда вы определяете схему charUser
, но пытаетесь смоделировать chatUser
на line 27
.
Попробуйте поставить Mongoose.promise = Promise;
сразу после импорта мангуста.
Кроме того, я бы предложил вам использовать следующий стиль:
1. Создайте db.js
, который будет экспортировать соединение с базой данных для вас.
const mongoose = require('mongoose');
mongoose.Promise = Promise;
const options = {
poolSize: 25,
socketTimeoutMS: 0,
keepAlive: true,
reconnectTries: 30,
user: 'MONGODB_USER',
pass: 'MONGODB_PASS',
auth: {
authdb: 'MONGODB_AUTH_DB',
},
};
const dbname = 'db_name_goes_here';
const host = 'db_server_URI_goes_here';
const port = port_number_goes_here || 27017;
const uri = `mongodb://${host}:${port}/${dbname}`; // a template string
const db = mongoose.createConnection(uri, options);
module.exports = db;
2. Используйте соединение в файле модели следующим образом:
const { Schema } = require('mongoose');
const db = require('./db.js');
const chatUser = new Schema({
profileID: String,
fullName: String,
profilePic: String
});
const userModel = db.model('chatUser', chatUser);
module.exports = { userModel };