VM сервер подключается к базе данных mongo на другой частной виртуальной машине, но все запросы зависают - PullRequest
0 голосов
/ 08 апреля 2019

У нас есть сервер, работающий на нашей виртуальной машине, и он успешно подключается к другой нашей виртуальной машине, на которой запущен экземпляр нашей базы данных mongo.

Но всякий раз, когда мы пытаемся выполнить запрос к базе данных или сохранить новый документ, запросы останутся навсегда, и мы даже не получим сообщение об ошибке. Мы хотели бы выяснить, почему это происходит, и решить ее, чтобы мы могли реально использовать нашу базу данных.

Однако мы можем отправлять сообщения и запросы из оболочки mongo в терминале.

наш сервер

//imports
var express    = require('express');        // call Express for routing
var bodyParser = require('body-parser');    // call Body Parser to Parse JSON
var mongoose   = require('mongoose');       // call Mongoose to make calls to our MondoDB

// define our app using express & bodyparser
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());


// connect to MongoDB
var db = mongoose.connect('mongodb://10.0.0.6:27017');

//Router & Routes-------------------
var router = express.Router();

//Set up middleware logging
router.use(function(req, res, next) {
    console.log('[REQUEST] ' + req.method + req.url); //Print request
    next(); // Continue processing request
});

router.use('/users', require('./routes/Users'));
router.use('/vimconfigurations', require('./routes/VimConfigurations'));
router.use('/vms', require('./routes/Vms'));
router.use('/vimevents', require('./routes/VimEvents'));

router.get('/', function(req, res) {
    res.json({ success: true, message: 'success' });  
});

//server start
app.use('/api', router);
process.env.PORT = 8081;
app.listen(process.env.PORT);
console.log('[USAGE SERVER] Initialized on port ' + process.env.PORT + "...");

пример маршрута

var express = require('express');
var router = express.Router();
var Vm = require('../models/Vm');

// routes for /api/vms
router.route('/')
    // Gets all vms
    .get(function(req, res){
        Vm.find(function(err, vms){
            if (err) return res.send(err);
            res.json(vms);
        });
    })

    // Make a new Vm
    .post(function(req, res){
        var vm = new Vm();
        vm.running = false;
        vm.creationdate = new Date();
        vm.configuration = configBasic;
        vm.ownerCcId = req.body.ccId;
        vm.save(function(err, vm){
            if (err) return res.send(err);
            res.json({success: true, message : 'VM successfully created!', id : vm._id});
        });
    });
module.exports = router;

пример модели


// server/models/vm.js

var mongoose     = require('mongoose');
var Schema       = mongoose.Schema;

var VMSchema   = new Schema({
    ownerCcId: String,
    running: Boolean,
    configuration: Object,
    creationdate: Date
});

module.exports = mongoose.model('Vm', VMSchema);

Любая помощь будет высоко ценится, спасибо!

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