node.js - 猫鼬只连接到本地主机
问题描述
我总是得到“在 localhost 收听”,但我输入的 URL 来自 Mongo Atlas。当我将环境变量打印到控制台时,我得到了正确的结果。mongoose 会自动忽略除 localhost 之外的任何 url。
我已尝试多次重新启动 nodemon。
mongoose
.connect(process.env.DATABASE_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => {
console.log(process.env.DATABASE_URL); //prints the correct url but mongoose connects to localhost
console.log("mongo connected");
// logEntry.collection.drop();
})
.catch((error) => console.log(error.message));
解决方案
使用下面提到的代码片段验证连接。
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);
mongoose.connect('mongodb+srv://<UserName>:<Password>@democluster0.abcde.mongodb.net?retryWrites=true&w=majority');
mongoose.connection.on('open', function (ref) {
console.log('Connected to mongo server.');
mongoose.connection.db.listCollections().toArray(function (err, names) {
console.log(names);
});
})
请参阅以下链接以获取相同的 URL。
https://docs.atlas.mongodb.com/tutorial/connect-to-your-cluster/
推荐阅读
- makefile - 什么是 vsim 命令行?
- sql - 存储和搜索标签具有权重的标签数据的最有效方法是什么?
- php - 我的表有两个时间戳值,其余的是字符串值。我想使用 php 在 html 中显示整个表格
- mongodb - 使用猫鼬,我试图找到具有匹配 3 个不同属性的文档,我在用户中得到空数组 If 语句执行 else 部分
- c# - WPF Datagrid 某些列未选择
- html - asp:图像无法从目录路径显示
- python - 如何用br标签分割html文本
- django - 如何在 Django 管理界面中显示来自 ImageField() 的图像?
- postgresql-9.6 - 他们有什么方法可以在使用 select 语句时使用 postgresql 会话变量
- javascript - href 的 Angular 应用程序中的基本 XSS veracode 漏洞