Node.js 如何从mongodb检索数据
我无法从mongodb检索数据 问题是:代码Node.js 如何从mongodb检索数据,node.js,mongodb,express,Node.js,Mongodb,Express,我无法从mongodb检索数据 问题是:代码Article.find({})无法从数据库检索数据 我正在使用WebStorm IDE。我想从数据库中检索所有数据 请帮我找到代码中的错误 database.js module.exports = { database:'mongodb://localhost:27017/shopping_site', } models/article.js let mongoose = require('mongoose'); // Article S
Article.find({})代码>无法从数据库检索数据
我正在使用WebStorm IDE。我想从数据库中检索所有数据
请帮我找到代码中的错误
database.js
module.exports = {
database:'mongodb://localhost:27017/shopping_site',
}
models/article.js
let mongoose = require('mongoose');
// Article Schema
let articleSchema = mongoose.Schema({
title:{
type: String,
required: true
},
author:{
type: String,
required: true
},
body:{
type: String,
required: true
}
});
let Article = module.exports = mongoose.model('Article', articleSchema);
哈巴狗
extends layout
block content
h1 #{title}
ul.list-group
each article, i in articles
li.list-group-item= article.title
app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var mongoose = require('mongoose');
var config = require('./config/database');
var bodyParser = require('body-parser');
var app = express();
// Bring in Models
let Article = require('./models/article');
//database connectionkjvhgc
mongoose.connect(config.database);
let db = mongoose.connection;
// Check connection
db.once('open', function(){
console.log('Connected to MongoDB');
});
// Check for DB errors
db.on('error', function(err){
console.log(err);
});
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
// Home Route
app.get('/', function(req, res){
Article.find({}, function(err, articles){
if(err){
console.log(err);
} else {
res.render('index', {
title:'Articles',
articles: articles
});
}
});
});
//set routes
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
//body-parser
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
将数据库连接代码移动到db.js中,并在article.js中导入相同的代码
let mongoose = require('mongoose');
// Article Schema
let articleSchema = mongoose.Schema({
title:{
type: String,
required: true
},
author:{
type: String,
required: true
},
body:{
type: String,
required: true
}
});
let Article = module.exports = mongoose.model('Article', articleSchema);
db.js
let uristring=;
mongoose.connect(uristring);
//成功连接时
mongoose.connection.on('connected',function()){
log(“Mongoose连接打开到集群”);
});
//如果连接抛出错误
mongoose.connection.on('error',函数(err){
log('Mongoose连接错误:'+err);
});
//当连接断开时
mongoose.connection.on('disconnected',function()){
log(“Mongoose连接断开”);
});
//当连接打开时
mongoose.connection.on('open',function()){
log(“Mongoose连接已打开”);
});
module.exports=猫鼬代码>首先让我们引入您的模型
require('./models/article');
创建模型的变量
const Article = mongoose.model('Article');
下一步显示来自db的文章
app.get('/', (req, res) => {
Article.find({}).then(Article => {
res.render('index', {Article:Article});
}).catch(err => console.log(err));
});
我希望这有帮助为什么要将module.export存储在变量中let Article=module.exports=mongoose.model('Article',articleSchema)
我还建议创建变量const Schema=mongoose.Schema
然后let articleSchema=newschema({title:{type:String,required:true},author:{type:String,required:true},body:{type:String,required:true})代码>抱歉,我忘记捕捉错误,我已将其编辑为捕捉错误抱歉,它仍然没有运行,我的意思是它没有检索数据库数据它没有显示任何错误,只是它没有从数据库检索任何数据