首页 > 解决方案 > 使用全局变量作为 mongodb 文档的计数器是否错误?

问题描述

我正在编写一个快速应用程序,需要跟踪 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!")

        });
    });     
});

该代码目前对我来说运行良好,但由于其异步性质,我不确定当有多个同时用户时它是否可以工作。

标签: javascriptexpress

解决方案


推荐阅读