【发布时间】:2020-09-27 00:25:25
【问题描述】:
在我正在处理的项目中,我像这样连接到数据库并输出 console.log 部分
const express = require('express');
const app = express();
const socketio = require('socket.io');
const mongoose = require('mongoose');
const expressServer = app.listen(3001);
const io = socketio(expressServer);
const Game = require('./Models/Game')
mongoose.connect('mongodb://localhost:27017/test',
{useNewUrlParser: true, useUnifiedTopology: true},
()=>{console.log('successfully connected to database')});
后来,我用猫鼬创建了一个模式模型,创建了这个模型的一个实例,当我尝试在第 13 行保存它时,代码在到达这一点时停止执行。
1 io.on('connect', (socket)=>{
2 socket.on('create-game',async (nickName)=>{
3 try{
4 const quotableData = await QuotableAPI();
5 let game = new Game();
6 game.words = quotableData;
7 let player = {
8 socketID : socket.id,
9 isPartyLeader : true,
10 nickName
11 }
12 game.players.push(player);
13 game = await game.save();
14 .......
所以我想知道是否可能是我没有连接到数据库。作为参考,我试过了
console.log(mongoose.connection.readyState)
它输出了 0,我在其他帖子中看到这意味着你没有连接。如果是这种情况,如何解决这个问题。
【问题讨论】:
-
您的代码 '()=>{console.log('successfully connected to database')' 是否真的打印了消息?
-
是的,它实际上在我的控制台中打印了消息。
-
Tocheie,当我尝试这个时,我得到一个 MongooseError [MongooseServerSelectionError]: connect ECONNREFUSED 127.0.0.1:27017
-
更新:在本地安装 MongoDB 解决了它
标签: mongodb mongoose socket.io