Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 从db发送数据,api生成代码为200无数据_Javascript_Node.js_Mongodb_Express_Express Generator - Fatal编程技术网

Javascript 从db发送数据,api生成代码为200无数据

Javascript 从db发送数据,api生成代码为200无数据,javascript,node.js,mongodb,express,express-generator,Javascript,Node.js,Mongodb,Express,Express Generator,我在mongoDb中的数据库连接到我的nodeJS,我可以在那里读取它,我的nodeJS api连接到我的客户端(在reactJS中),我可以使用express generator将数据从我的nodeJS api发送到我的客户端,并且正在工作,但当我尝试将我的mongoDb数据库发送到客户端时不工作(但我仍然获得状态200,但我的数组不在这里。我不明白为什么?我在postman中调用api时看不到db,所以我假设错误在服务器端。如果我有一个consol.log,我可以看到db,但当我使用retu

我在mongoDb中的数据库连接到我的nodeJS,我可以在那里读取它,我的nodeJS api连接到我的客户端(在reactJS中),我可以使用express generator将数据从我的nodeJS api发送到我的客户端,并且正在工作,但当我尝试将我的mongoDb数据库发送到客户端时不工作(但我仍然获得状态200,但我的数组不在这里。我不明白为什么?我在postman中调用api时看不到db,所以我假设错误在服务器端。如果我有一个consol.log,我可以看到db,但当我使用return时,它不工作,我在postman中看不到数据。) 下面是我的nodeJs代码:

var mongodb = require('mongodb')
var MongoClient = mongodb.MongoClient
var connectionURL = 'mongodb://127.0.0.1:27017'
var databaseName = 'projet_Ecommerce';
const dataFromDb = () => {



    MongoClient.connect(connectionURL, {
        useNewUrlParser: true
    }, (error, client) => {
        if (error) {
            return console.log('Unable to connect to database')
        }
        console.log('Connected correctly !');

        var db = client.db(databaseName)
        db.collection('product').find().toArray(function(error, data) {
            if (error) {
                return console.log('Unable to find the user')
            }

            return (data);

        })
        // Pointer - go to doc
        // db.collection('tasks').find({completed: false}).toArray()
    })
};

module.exports = dataFromDb

routres / index.js:

    var express = require('express');
var router = express.Router();
const bodyParser = require('body-parser')
var dataC = require('../public/javascripts/dataFromDb')
// data = JSON.stringify(data);
// console.log(dataFromDb())
/* GET home page. */
router.get('/', function(req, res, next) {

    //console.log(dataFromDb())
    res.send(dataC())

});

//console.log(dataFromDb())
module.exports = router;
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 cors = require("cors")
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var testAPIRouter = require("./routes/testAPI");
var app = express();
var bodyParser = require("body-parser")

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(cors());
app.use(logger('dev'));
app.use(express.json());
// app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.urlencoded({
    extended: false
}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use("/testAPI", testAPIRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
    next(createError(404));
});

// 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;
其他文件无更改