为啥即使在节点服务器和 mongodb 加载后 localhost 也没有加载?
Posted
技术标签:
【中文标题】为啥即使在节点服务器和 mongodb 加载后 localhost 也没有加载?【英文标题】:Why localhost not loading even after node server and mongodb loaded?为什么即使在节点服务器和 mongodb 加载后 localhost 也没有加载? 【发布时间】:2020-07-17 09:29:04 【问题描述】:我已经开始学习 MEAN 开发。我已经设置了我的快速服务器以及我的 mongodb 连接。在终端中运行 node server
时,服务器开始运行,mongo 也能够连接,但 localhost:8081/api/videos
没有加载。我清除了缓存和 cookie,但仍然没有解决方案。我附上下面的代码。
server.js
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
const api = require('./server/routes/api');
// Port for express server
const port = 8081;
const app = express();
app.use(express.static(path.join(__dirname,'dist/mean')));
app.use(bodyParser.urlencoded(extended: true));
app.use(bodyParser.json);
app.use('/api', api);
app.get('*', (req,res)=>
res.sendFile(path.join(__dirname, 'dist/mean/index.html'));
);
app.listen(port, function()
console.log('Server running at localhost:' + port);
);
api.js
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
const Video = require('../models/video');
// Creating mongo db connection
const db = 'mongodb+srv://<username>:<password>@training-qfjgb.mongodb.net/test?retryWrites=true&w=majority';
mongoose.Promise = global.Promise;
mongoose.connect(db, useUnifiedTopology: true, useNewUrlParser: true , err =>
if(err)
console.log('Error: '+err);
else
console.log('Successfully connected to mongodb');
);
router.get('/videos', function(req, res)
console.log('Get request for all videos');
Video.find().exec(function(err, videos)
if(err)
console.log('Error retrieving videos');
else
res.json(videos);
);
);
module.exports = router;
video.js(这是用于架构的)
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Creating database schema
const videoSchema = new Schema(
title: String,
url: String,
description: String
);
// Creating model of database videoplayer as model and then exporting
module.exports = mongoose.model('video', videoSchema, 'videoplayer');
【问题讨论】:
你怎么知道“本地主机没有加载?”你用http://localhost:8081/videos/
了吗?请edit您的问题。
@O.Jones 是的,我已经完成了
【参考方案1】:
const db = 'mongodb+srv://username:password@training-qfjgb.mongodb.net/test?retryWrites=true&w=majority';
用户名:密码应该更改。 admin:12345(如你所用)
【讨论】:
以上是关于为啥即使在节点服务器和 mongodb 加载后 localhost 也没有加载?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用猫鼬以编程方式在节点服务器上仅预加载一次 MongoDB 文档
Flutter:为啥我的构建器在 Web 服务调用后没有重新加载?
如何在没有时间的情况下将 LocalDate 保存到 MongoDB(即使我只保存日期,为啥 mongo 会随时间保存日期)?
为啥这个 PHP MongoDB 查询即使有结果也不返回任何结果?