【发布时间】:2019-02-20 12:42:10
【问题描述】:
我在终端中创建了一个名为 userInfo 的 mongodb,集合名称为“info”,我在模型/user_info.js 中创建了一个模式。我根本没有从数据库中获取任何值。 我的 userInfo db 有 name,studentId,dept
我的视图引擎是jade/pug,我正在尝试迭代并显示数据库中的值。我没有收到错误,但它没有显示值。感谢您的帮助!
app.js
const express= require('express');
const path = require('path')
const mongoose = require('mongoose')
const bodyParser = require('body-parser')
mongoose.connect('mongodb://localhost/userInfo')
let db = mongoose.connection;
db.on('error',(error) => console.log(error));
db.once('open',() => console.log('Connected to Mongodb'))
const app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
let UserInfo = require('./models/user_info')
app.set('views',path.join(__dirname,'views'))
app.set('view engine','pug')
app.get('/',(req,res) => {
UserInfo.find({},function(err,info){
if(err){
console.log(err);
}else{
res.render('tabel',{
title:'user report',
info:info
});
}
})
})
user_info.js //shema
let mongoose = require('mongoose');
//Userinfo Schema
let userInfoSchema = mongoose.Schema({
name:{
type:String,
required:true
},
studentID:{
type:String,
required:true
},
dept:{
type:String,
required:true
}
});
let UserInfo = module.exports = mongoose.model('UserInfo',userInfoSchema);
【问题讨论】:
-
只是为了验证,您是否尝试在致电
res.render()之前记录信息?它打印什么? -
打印空列表
-
好的,要尝试的另一件事是从 user_info.js 中的 module.exports 之前删除
let UserInfo =,它不需要存在。 -
仍然返回空列表
-
Mongoose -- Force collection name 的可能副本 这说明了如何将集合与您的模型相关联。
标签: node.js mongodb express mongoose