node.js - 连接 MongoDB 与 Mongoose 时遇到问题

标签 node.js mongodb mongoose mern react-fullstack

0

我正在遵循 Udemy 的 MERN Stack 教程,并尝试将 mongodb 与 mongoose 连接。我配置的代码在这里:

(db.js)

const mongoose = require('mongoose');
const config = require('config');
const db = config.get('mongoURI');

const connectDB = async () => {
  try {
    await mongoose.connect(db);

    console.log('MongoDB Connect...');
  } catch (err) {
    console.error(err.message);
    //Exit process with falure
    process.exit(1);
  }
};

module.exports = connectDB;

(服务器.js)

const express = require('express');
const connectDB = require('./config/db');

const app = express();

//connect database
connectDB();

app.get('/', (req, res) => res.send('API Running'));

const PORT = process.env.PORT || 5000;

app.listen(PORT, () => console.log(`Server started on port ${PORT}`));

(包.json)

{
  "name": "devconnect",
  "version": "1.0.0",
  "description": "Social Network for Developers",
  "main": "server.js",
  "scripts": {
    "start": "node server",
    "server": "nodemon server"
  },
  "author": "Jason Thomas",
  "license": "MIT",
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "config": "^3.2.5",
    "express": "^4.17.1",
    "express-validator": "^6.3.1",
    "gravatar": "^1.8.0",
    "jsonwebtoken": "^8.5.1",
    "mongoose": "^5.8.9",
    "request": "^2.88.0"
  },
  "devDependencies": {
    "concurrently": "^5.0.2",
    "nodemon": "^2.0.2"
  }
}

当我输入[npm run server]这是我的错误消息

Server started on port 5000
Password contains an illegal unescaped character
[nodemon] app crashed - waiting for file changes before starting...

我无法弄清楚这个问题,我知道这很简单,我做错了什么,我该如何解决这个问题?

致以诚挚的问候 &谢谢你

最佳答案

如果您有相同的文件夹结构,您应该有一个像这样的 config/default.json,其中包含您从 mongoDB 集群连接设置中复制粘贴的字符串:

{
  "mongoURI": "mongodb+srv://username:<password>@devconnector-clusterid.mongodb.net/somethingSomething?retryWrites=true",
  "jwtSecret": "secret",
  "githubClientId": "",
  "githubSecret": ""
}

输入密码时,请务必删除字符 < >。

新类(class)的所有文件都在这里 - Devconnector 2.0older version当然是 config/keys.js 。

关于node.js - 连接 MongoDB 与 Mongoose 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59805813/

相关文章:

node.js - Istanbul 尔封面报告对于用 mocha 进行测试是错误的(使用 Mongoose)

javascript - 未找到命名导出 'Types'。请求的模块 'mongoose' 是一个 CommonJS 模块,它可能不支持所有 module.exports 作为命名导出

javascript - React + Webpack 不解析文件加载器

node.js - 无法使用 Google Cloud 的 Oauth2 发送 NodeMailer(响应代码 : 530)

MongoDB - 使用 $polygon 或 $geometry 的 $geoWithin 查询给出不同的结果

node.js - 从 Node 访问远程mongodb

node.js - mongodb + Node 连接字符串

javascript - 使用 Spotify API 的桌面应用程序 - 无回调 URI

Node.js 永远模块在列表中崩溃

javascript - 在 Meteor 中,如何使用从 MongoDB 集合中提取的先前插入的对象预填充表单加载?