将记录添加到数据库后,ExpressJS重新查询数据库

时间:2014-04-23 16:24:37

标签: javascript node.js mongodb express

我是新来的表达JS,我想知道在添加一个数据库之后,重新查询数据库(在我的情况下是mongo)的最佳方法是什么,以获取所有记录。

exports.get = function (db) {
    return function (req, res) {

        var collection = db.get('notes');

        collection.find({}, {}, function (e, docs) {
            res.send(docs);
        });
    };
};

exports.create = function (db) {
    return function (req, res) {

        var title = req.body.title;
        var note = req.body.note;
        var collection = db.get('notes');

        // Insert/update the note
        collection.insert(
            {
              "title": title,
              "note": note
            },

            function (err, doc) {
                // If it failed, return error
                if (err) {
                    res.send("There was a problem adding the information to the database. Error: "+err);
                } else {
                    //res.redirect('/');
                  //res.json(db.get('notes'));
                  // WHAT IS THE BEST THING TO DO HERE TO GET ALL THE RECORDS INCLUDING THE ONE I'VE JUST ADDED?
                  exports.get(db);

                }
            }
        );
    }
};

2 个答案:

答案 0 :(得分:1)

我会替换

exports.get(db);

collection.find({}, {}, function (e, docs) {
    res.send(docs);
});

原因是你在插入记录后的回调中调用了这个

答案 1 :(得分:0)

您的exports.get函数返回function,这是我看到的一种中间件。 Repplace

exports.get(db);

通过

exports.get(db)();