отправлять данные из базы данных с помощью и api build с кодом express -generator 200 без данных - PullRequest
1 голос
/ 28 мая 2020

моя база данных в mongoDb подключена к моему nodeJS, я могу прочитать его там, мой nodeJs api подключен к моей клиентской стороне (в reactJS), и я могу отправлять данные из моего nodeJs api, используя express -generator на моей клиентской стороне и работает, но когда я пытался отправить мою базу данных mongoDb на клиентскую сторону, не работает (но я все еще получаю статус 200, но моего массива здесь нет. Я не могу понять из почему? Я не вижу БД, когда я вызываю API в почтальоне, поэтому я предполагаю, что ошибка находится на стороне сервера. Если у меня был consol.log, я могу видеть БД, но когда я использую return, он не работает, и я не могу видеть данные в почтальоне здесь мой 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;

приложение. 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;

другие файлы без изменений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...