пытаясь получить результат массива для mongodb в expressjs - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь получить результат от возврата базы данных MongoDB в качестве ответа на мой запрос GET. Когда я выполняю вызов, в ответе я получаю неопределенное значение, я могу увидеть результат в журнале консоли в базе данных. сторона кода. Я чувствую, что это может быть связано с массивом

MongoClient = require('mongodb'),
  mongodburl = "mongodb://localhost:27017",
  mongo = require('mongodb'),
  assert = require('assert');


let method={}
method.insertdata=function(data,collectionpara) {
  MongoClient.connect(mongodburl, function (err, db) {
    assert.equal(null, err);
    let dbo = db.db("hor-usData");
    let myobj = data;
    dbo.collection(collectionpara).insert(myobj, function (err, result) {
      assert.equal(null, err);
      console.log("insert data");
      db.close();
    })
  })
}

method.deleteRecords=function(collectionpara) {
  MongoClient.connect(mongodburl, function (err, db) {
    assert.equal(null, err);
    let dbo = db.db("hor-usData");
    var myquery = {
      title: /^B/
    };
    dbo.collection(collectionpara).deleteMany(myquery, function (err, obj) {
      if (err) throw err;
      console.log(obj.result.n + " document(s) deleted");
      db.close();
    })
  })
}
method.getdata=function(collectionpara){
  MongoClient.connect(mongodburl, function(err, db) {
    if (err) throw err;
    let dbo = db.db("hor-usData");
    dbo.collection(collectionpara).find().toArray(function(err, result) {
      if (err){
        return reject(err)
      }
      console.log('result',result);
      return resolve(result);
    });
  });  
}

module.exports = method;

и код моего роутера

let assert = require('assert'),
    express = require('express'),
    router = express(),
    swaggerUi = require('swagger-ui-express'),
    database=require('../databaseCon'),
   // swaggerDocument = require('./swagger.json'),
    utils = require('../utils/utils');
var port = process.env.PORT || 3000;


//get donedeal
router.get('/getDonedeal', function (req, res, next) {
    let donedealResult = []
    donedealResult=database.getdata('donedeal');
    res.send(donedealResult);
});

//get carzone
router.get('/getCarzone', function (req, res, next) {
    let carzoneResult = [];
    carzoneResult=database.getdata('carzone');
    res.send(console.log(carzoneResult));
});


router.get('/cars', function (req, res, next) {
    res.router('Mainrouter')
});

router.get('/getCarzone', function (req, res, next) {
    var resultArray = []
});
router.listen(port);
//app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
//app.use('/api/v1', router);
module.exports = router;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...