node.js - 无法使用 Node 库 Monk 访问 MongoDB 数据库,代码在 Localhost 上运行良好。真的很短,简洁的代码
问题描述
所以我处理这个问题已经有一段时间了,考虑到这几行代码,它真的很有弹性。我已经多次阅读文档并尝试了许多不同的组合和选项,但它就是行不通。在本地主机上一切正常,当部署到网络时,应用程序正常工作,我可以成功访问显示“Camisite”的 ./ 方向,但在尝试访问 /posts 时会超时。这就是我所知道的,如果有人可以就如何获得有关错误的更多信息提供一些建议,那将是受欢迎的。只是为了测试,我将连接字符串直接放在代码上,否则它是现在的秘密。
所以这是代码,正如我所说,它非常简洁。我删除了帖子请求部分,因为认为没有必要。
我已经尝试删除 || 'localhost/posts'
连接字符串上的部分,并将字符串或字符串保留在机密中。
const express = require('express');
const cors = require('cors');
const monk = require('monk');
const Filter = require('bad-words');
const rateLimit = require('express-rate-limit');
const filter = new Filter();
const app = express();
const db = monk('mongodb+srv://myuserexample:mypassexample@cluster0-qm9z0.mongodb.net/test?retryWrites=true&w=majority' || 'localhost/posts');
const posts = db.get('posts');
app.enable('trust proxy');
app.use(cors());
app.use(express.json());
app.get('/', (req, res) => {
res.json({
message: 'Camisite! '
});
});
app.get('/posts', (req, res) => {
posts
.find()
.then(posts => {
res.json(posts);
});
});
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log('server started');
});
解决方案
首先,您需要.catch
在您拥有的任何地方添加,.then
因为优雅地处理错误有助于您应对这种情况。使用 将您的错误打印到控制台console.error()
,并制作日志文件,至少像这样运行您的应用程序:
node app.js >> stdout.log 2>>stderr.log
这将为您提供有关所发生情况的更多信息
推荐阅读
- angular - Angular 9 - 传入 URL 中的加号(+)问题
- java - 从 Saga 分派命令时未调用事件处理程序
- java - 如何在 netbeans 打开 IDE 中覆盖 ResetWindowsAction 的行为?
- sql - 根据另一列的不同值更新一行
- javascript - 用JS模拟向文本输入框发送数据
- c# - 在 ASP.NET 网络表单中使用 SqlDependency
- javascript - 如果多个选择器被禁用,jQuery 返回 true
- google-apps-script - GAS Web 应用程序表单到电子表格不会自行更新
- python - 使用 pygame (python) 播放声音
- java - 为什么我的服务在媒体播放器循环时被破坏?