首页 > 解决方案 > 如何从 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;

标签: node.jsmongodbexpress

解决方案


推荐阅读