Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从mongodb检索数据_Node.js_Mongodb_Express - Fatal编程技术网

Node.js 如何从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

我无法从mongodb检索数据

问题是:代码
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})抱歉,我忘记捕捉错误,我已将其编辑为捕捉错误抱歉,它仍然没有运行,我的意思是它没有检索数据库数据它没有显示任何错误,只是它没有从数据库检索任何数据