Является ли использование глобальной переменной в качестве счетчика для документов mongodb неправильным? - PullRequest
0 голосов
/ 18 апреля 2019

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

Это то, что я пытаюсь сделать

var counter = noOfDocuments; //assume this is initialized correctly

app.post('/add', function(req, res) {
    var data = req.body;
    mongoose.connect('mongodb://localhost:27017/sample', {useNewUrlParser: true});


        var db = mongoose.connection;

        db.on('error', console.error.bind(console, 'connection error:'));

        db.once('open', function() {
            console.log("Connection Successful!");

        var password =uuid();
        password = password +(val+1);
        var file = new fileModel({ name: data.name, phoneNo: data.phoneNo , pwd: password ,fileNo : val+1});

        // save model to database
        file.save(function (err, employee1) {
            if (err) {
                mongoose.connection.close();
                return console.error(err);
            }
            mongoose.connection.close();
            val = val+1;
            res.send("Added successfully!")

        });
    });     
});

Код работает нормально для меня в настоящее время, но я не уверенесли он будет работать, когда есть несколько одновременных пользователей из-за его асинхронного характера.

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