node.js - 如何从 mongoDB 数据库中的 express 模块中导出
问题描述
我知道这听起来可能是一个基本问题,但我是 Express、Node 和 Mongo DB 的新手。我创建了这个模型 Courses.js
const mongoose = require('mongoose');
// Create Schema
// var studentSchema = new mongoose.Schema({ ... }, { collection : 'student' });
const coursesSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
description: {
type: String,
required: true
}
},{ collection : 'courses' });
let Courses = mongoose.model('Courses', coursesSchema);
module.exports = Courses;
结果在终端中得到了很好的安慰,但是当我将结果和课程返回到 module.exports 然后在 index.js 中使用它时,它不会在邮递员上返回任何内容
请注意,当我在模型中使用简单的 JS 时,它可以很好地导出和返回数据。即:这有效:
const courses = [
{
id: 1,
name: 'Data Structure',
description: 'Data Structure with java',
points: 100,
image: 'public/photos/ds.png',
media: 'media'
},
{
id: 2,
name: 'Django',
description: 'python framework',
points: 30,
image: 'public/photos/django.png',
media: 'media'
},
{
id: 3,
name: 'Adonis JS',
description: 'JS framework',
points: 50,
image: 'public/photos/adonis.png',
media: 'media'
}
];
module.exports = courses;
index.js
const express = require('express');
const path = require('path');
const exphbs = require('express-handlebars');
const mongoose = require('mongoose');
mongoose.connect('mongodb+srv://mohisham:13dhsbbs4680@coursesdb-welku.mongodb.net/test?retryWrites=true&w=majority', { useUnifiedTopology: true, useNewUrlParser: true });
const db = mongoose.connection;
db.once('open', function(){
console.log("Connected to MongoDB successfully!");
});
db.on('error', function(){
console.log(err);
});
const logger = require('./middleware/logger');
const members = require('./Members');
const courses = require('./Courses');
// const MongoClient = require('mongodb').MongoClient;
const app = express();
app.use('/api/courses', require('./routes/api/courses'));
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
路线/api/courses.js
const express = require('express');
const router = express.Router();
const courses = require('../../Courses');
router.get('/', (req, res) => res.json(courses));
module.exports = router;
解决方案
推荐阅读
- c++ - 使用 Eigen 在 C++ 中的不同参考中表达向量和方向
- python - 解决错误:赋值前引用了局部变量“计数器”
- android - 使用 xml 和约束以编程方式添加自定义按钮
- javascript - 成功登录时更改窗口位置
- ios - 如何防止 navigationBarTitle 占满全角?
- php - 是否有一种编程方式来区分 bash 脚本是由用户执行还是通过 PHP 中的 shell_exec 执行?
- python - 在 mypy 中为什么 boolean 会传递浮点类型注释
- java - 如何在 java 中使用终端转义码?
- python - 在 python subprocess.popen 中通过标准输入发送输入
- ui5-tooling - 新项目的ui5初始化失败