WSL2/Mongodb:错误:在 Windows 上连接 ECONNREFUSED 127.0.0.1:27017

问题描述 投票:0回答:1

我正在按照教程进行编码,但我一直致力于将 MongoDB 连接到 Express。我成功安装了 MongoDB(Mongo Compass 和 Mongo shell),并且能够稍微尝试一下以熟悉它。我使用的是 Windows 10 计算机。我能够创建一个数据库并通过 mongo shell 和 cmd 提示符向其中添加一些文档和集合。

对于我正在构建的 React 应用程序,我使用 VS Code 作为 IDE。 VS Code 在 Ubuntu (WSL 2) 上运行,我无法将我的应用程序连接到数据库。我什至尝试过使用 MongoDB VS Code 扩展,但我仍然无法连接到 compass 上可用的数据库。 Atlas 集群似乎连接得很好。

下面我提供了 VS Code 和 Compass 的屏幕截图,以防有人注意到一些问题。

这是我尝试连接的代码。我已经在邮递员上测试了输出,但没有得到任何输出作为回报。服务器根据nodemon运行,每次我在postman上运行get命令时应用程序都会崩溃。

import express from "express";
import { MongoClient } from "mongodb"; //connects to the db

const app = express();
app.use(express.json()); // middleware to enable posting json

app.get('/api/articles/:name', async (req, res) => {
  const { name } = req.params;
  const client = new MongoClient('mongodb://127.0.0.1:27017');
  await client.connect();

  const db = client.db('react-blog-db');

  const article = await db.collection('articles').findOne({ name });
  res.json(article);
});

我已经尝试了此处突出显示的一些选项,但没有一个对我有用。

reactjs node.js mongodb windows-subsystem-for-linux
1个回答
0
投票

我通常使用 morgan 和 mongoose 作为 mongoDB,我知道使用 mongoose 时你必须在 URL 字符串中指定数据库,我会尝试 新的 MongoClient('mongodb://127.0.0.1:27017/thedatabaseyouwanttoconnectto').

© www.soinside.com 2019 - 2024. All rights reserved.