每次启动应用程序时都会出现此错误。..错误在屏幕截图中。请让我知道如何解决此问题。谢谢。enter image description here
答案 0 :(得分:0)
您收到错误消息,因为尝试访问它时Mongoose.connection尚不存在。您需要将回调用作
const Mongoose=require("mongoose").connect(config.dbURL,(error)=>{
if (!error) {
Moongose.connection.on("error",(error)=>{...your code here ..});
}
})
或使用Promise
const Mongoose=require("mongoose").connect(config.dbURL)
.then(()=>{
Moongose.connection.on("error",(error)=>{...your code here ..});
});
答案 1 :(得分:0)
您绝对应该使用某些变量/标识符来存储连接,如Mongoose文档here中所述。
console.log
您的config
并检查是否已正确提取它们。
如果您提供更多详细信息并使用代码段而不是屏幕截图,则社区也会提供更好的帮助。
接下来,检查您的数据库URL是否以mongodb://
开头。
然后,您在定义架构line 19
的{{1}}上出现拼写错误,但试图在charUser
上建模chatUser
。
尝试在导入猫鼬之后放line 27
。
此外,我建议您使用以下样式:
1.创建Mongoose.promise = Promise;
,它将为您导出数据库连接。
db.js
2.以这种方式使用模型文件中的连接:
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 :(得分:0)
尝试一下:-
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'test';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
assert.equal(null, err);
console.log("Connected successfully to server");
const db = client.db(dbName);
});