Я пишу экспресс-приложение, и мне нужно отслеживать количество документов в базе данных 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!")
});
});
});
Код работает нормально для меня в настоящее время, но я не уверенесли он будет работать, когда есть несколько одновременных пользователей из-за его асинхронного характера.