【问题标题】:How to fetch data from mongodb using nodejs, expressjs如何使用nodejs,expressjs从mongodb获取数据
【发布时间】:2016-10-09 09:09:35
【问题描述】:

这是我的代码 文件名 student.js

var mongoose = require('mongoose');

var studentSchema = new mongoose.Schema({

    name:{
        type: String,
        required: true
    },
    rollno:{
        type: Number,
        required: true
    },
    grade:{
        type: String,
        required: true
    },
    result:{
        type: String,
        required: true
    }
});


var Student = module.exports = mongoose.model('Student',studentSchema);


module.exports.getStudents = function (callback){

    Student.find(callback);
}

**filename app.js**

var express = require('express');

var app = express();

var mongoose = require('mongoose');

var PORT= process.env.PORT || 3000;


Student = require('./models/student');


mongoose.connect('mongodb://localhost/register');

var db= mongoose.connection;

app.get('/api/student', function (req,res){

    Student.getStudents(function (err, student){
        if(err){
            throw err;
        }
        res.json(student);
    });
});


app.listen(PORT);

console.log('Running app on port:' + PORT);

【问题讨论】:

  • 您的问题/问题是什么?
  • 我无法获取 mongodb 中的集合数据以显示在 html 页面上
  • 您是否尝试查询现有集合?您确定集合中确实存在名为 students 的文档吗?
  • 是的,我正在尝试从我现有的集合中获取数据。是的,集合中有名为 student 的文档

标签: javascript node.js mongodb express


【解决方案1】:

如果您想要使用 Mongoose 查询现有集合,则应将该集合的名称显式传递给架构:

var studentSchema = new mongoose.Schema({ ... }, { collection : 'student' });

如果您不这样做,Mongoose 会为您生成一个集合名称,通过小写和复数模型名称(因此模型 Student 的文档将存储在名为 @987654324 的集合中@; 注意后面的 -s)。

更多文档here。

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2016-02-27
    相关资源
    最近更新 更多