Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Javascript nodejs mongodb,未从db获得任何结果_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript nodejs mongodb,未从db获得任何结果

Javascript nodejs mongodb,未从db获得任何结果,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,处理来自MongoDb的数据时出现问题 成功连接到MongoDb 但在find命令上,它应该返回一个空集合,但不返回任何内容 问题可能是什么,或者如何通过一些错误消息进行监控 谢谢 项目依赖关系 "dependencies": { "body-parser": "^1.19.0", "epxress": "0.0.1-security", "express": "^4.17.1", "nodemon": "^2.0.2" } 猫鼬 const mongoose = require('mongo

处理来自MongoDb的数据时出现问题

成功连接到MongoDb

但在find命令上,它应该返回一个空集合,但不返回任何内容

问题可能是什么,或者如何通过一些错误消息进行监控

谢谢

项目依赖关系

"dependencies": {
"body-parser": "^1.19.0",
"epxress": "0.0.1-security",
"express": "^4.17.1",
"nodemon": "^2.0.2"
}

猫鼬

const mongoose = require('mongoose');

mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost:27017/ListsDB', { useNewUrlParser: true, useUnifiedTopology: true}).then( ()=> {
    console.log("Connected to MongoDbB successfully ");
}).catch( (e) => {
    console.log("Error while attempting to connect to MongoDB");
    console.log(e);
});

mongoose.set('useCreateIndex', true);
mongoose.set('useFindAndModify', false);

module.exports = {
    mongoose
};
list.model.js

const mongoose = require('mongoose');

const ListSchema = new mongoose.Schema({
   title: {
       type: String,
       required: true,
       minlength: 1,
       trim: true
   }
})

const List = mongoose.model('List', ListSchema);

module.exports = { List }
app.js不工作

const express = require('express');
const app = express();

const bodyParser = require('body-parser');

const { List, Task } = require('./db/models');

app.use(bodyParser.json());

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*"); // update to match the domain you will make the request from
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next()
  })

app.get('/lists', (req,res) => {
    // We want to return an array of all the lists in the database
    List.find({}).then( (err, lists)=> {
        res.send(lists)
    })
})

app.listen(3000, () => {
    console.log("Server is listening on port 3000");
})

尝试使用此语法

   app.get('/lists', (req,res) => {
     List.find({}).then( lists => {
        res.send(lists)
     }).catch(err =>
        console.log(err)
     );
   })

您正在then块中传递多个参数。然后是仅接受标记为成功数据的单个参数。若要显示错误,还必须在catch块中传入error参数

请尝试以下代码:

    const express = require('express');
    const bodyParser = require('body-parser');
    const List = require('./listModel');
    const mongoConnection = require('./mongoose');
    const app = express();

app.use(bodyParser.json({
    limit: '20mb',
    extended: true
}));
app.use(bodyParser.urlencoded({
    extended: true
}));

app.get('/lists', (req,res) => {
     List.find().then( lists => {
                res.send(lists)
          }).catch(err =>
                res.send(err)
          );
 });

app.listen(3100, () => {
    console.log("Server is listening on port 3100");
})

你的意思是
res.json(列表)
?不,我认为res.send(列表)是正确的。你在app.js中导入列表了吗?你检查过你的控制台错误吗?@Shl你能检查一下吗?@Juhil Somaiya是的,而且错误没有返回任何东西,怀疑是mongo问题,但不知道如何监控。你看到app.js中导入的列表了吗?它将如何获得列表?@JuhilSomaiya是的。我已经试用了你的代码,该代码与此解决方案配合得很好。他的本地mongodb@HardikPatelit可能有问题,看起来这确实是一个mongo问题,任何关于如何验证/查找问题的想法首先确保您的系统上安装了mongoDB,如果已安装,请检查它是否已连接到您的应用程序。我认为您尚未在应用程序中连接mongoDB。在app.js文件const mongo=require(“mongoconnection文件的路径”)中添加以下行;