Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么find()方法没有';t在Express.Js中显示来自mongoDb数据库的最新数据_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 为什么find()方法没有';t在Express.Js中显示来自mongoDb数据库的最新数据

Javascript 为什么find()方法没有';t在Express.Js中显示来自mongoDb数据库的最新数据,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,当调用app.post('/form submit',funtion(req,res))方法时,我希望它首先使用save()保存数据,它做得很好,但随后我调用find()方法,该方法显示来自mongoDB数据库的所有数据,除了save()方法最近添加的当前数据 我希望find()方法也显示当前数据。但是show()方法只显示以前的数据,而不是最近的数据。 我想这可能是异步问题 //For Put request in index.js app.post('/form-submit', funct

当调用
app.post('/form submit',funtion(req,res))
方法时,我希望它首先使用
save()
保存数据,它做得很好,但随后我调用
find()
方法,该方法显示来自mongoDB数据库的所有数据,除了
save()
方法最近添加的当前数据

我希望
find()
方法也显示当前数据。但是
show()
方法只显示以前的数据,而不是最近的数据。 我想这可能是异步问题

//For Put request in index.js
app.post('/form-submit', function(req, res) {

    //To add the current data into database

    connect.then((db) => {
        var newTask = taskSchema({
            Task: req.body.Task
        });
        newTask.save();

    });


    //To show the data into page 'showTask.ejs
    taskSchema.find({}, function(err, val) {
        console.log(res.length);
        res.render('showTask.ejs', { todoTask: val });
    });

});
保存是异步的

它可以返回承诺或接受回调(err)=>{}

因此,您在信息尚未保存时获取信息

app.post('/form-submit', function(req, res) {

    //To add the current data into database

    connect.then((db) => {
        var newTask = taskSchema({
            Task: req.body.Task
        });
        return newTask.save();
    }).then(() => {
        //To show the data into page 'showTask.ejs
        taskSchema.find({}, function(err, val) {
            console.log(res.length);
            res.render('showTask.ejs', { todoTask: val });
        });
    });

});
或:


但当我尝试将“await”作为save()的前缀时,它会给我错误SyntaxError:await仅在异步函数中有效dd async:app.post('/form submit',async function(req,res){.or use.then:return newTask.save();})
app.post('/form-submit', async function(req, res) {

    //To add the current data into database

    const db = await connect;
    var newTask = taskSchema({
        Task: req.body.Task
    });
    await newTask.save();

    //To show the data into page 'showTask.ejs
    taskSchema.find({}, function(err, val) {
        console.log(res.length);
        res.render('showTask.ejs', { todoTask: val });
    });
});