如何检查猫鼬是否连接?

时间:2020-09-27 00:25:25

标签: mongodb mongoose socket.io

在我正在从事的项目中,我像这样连接到数据库,并输出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,我在其他文章中看到这表示您未连接。如果是这样,一个人将如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

您可以通过打印连接的数据库中的所有集合来验证相同的结果。

<>