我正在尝试在 Node.js 中运行 MongoDB。我已在 C:\mongodb 下安装了社区服务器版本的 MongoDB (v. 5.0.3)。
在子文件夹“data”中,我创建了另一个文件夹“db”,该文件夹当前为空。
当我在 mongo.exe、Windows 终端甚至 Node.js 的终端中运行 mongoDB 时,一切似乎都正常。我可以查看我的数据库并创建新的数据库和集合。我还可以访问 Compass 中的数据库(连接 mongodb://localhost:27017)。
正如我所说,即使我创建了一个新数据库,我的“data/db”文件夹还是空的,所以看起来我的数据库存储在其他地方。这是一个问题吗?
在 Node.js 中,我尝试使用 Mongoose 连接到 MongoDB。我尝试了几种不同的方法,并取得了不同程度的成功。此代码始终相同:
// Dependencies:
const express = require('express')
const app = express()
const mongoose = require('mongoose')
// Validate connection:
mongoose.connection.once('open', () => console.log('Connected do database'))
mongoose.connection.on('error', err => console.error('connection error:', err))
app.listen(5000, () => console.log('Server started'))
Run Code Online (Sandbox Code Playgroud)
这个网址有效(看起来):
// Connecting to database:
mongoose.connect('mongodb://127.0.0.1:27017/testdb', { useNewUrlParser: true })
Run Code Online (Sandbox Code Playgroud)
在控制台中,我得到“服务器已启动”,然后是“已连接到数据库”。
然而,YouTube 教程中建议的这个 URL 不起作用:
// Connecting to database: …Run Code Online (Sandbox Code Playgroud)