MongoDB输出到浏览器

时间:2016-08-30 18:43:18

标签: javascript node.js

您好我正在学习mongoDB并尝试将我的数据库查询结果打印到浏览器。

我有一个程序正在使用console.log()

将输出JSON写入控制台

有没有办法使用res.send()(使用快速)或response.write()response.send()来输出数据库查询获得的原始JSON数据?

换句话说,如何让我的数据库invokatation 返回一个字符串?

// Use connect method to connect to the server
var invokeDatabase = function() {
    MongoClient.connect(url, function(err, db) {
        assert.equal(null, err);
        console.log("Connected successfully to database server");

        findDocuments(db, function() {
            findDocumentsFiltered(db, function() {
                db.close();
            });
        });
    });
};

//routes
app.get('/', function(req, res) {
    console.log("Someone connected.")
    res.send("accessing database... " + invokeDatabase())
        //res.send('Welcome G')
})

1 个答案:

答案 0 :(得分:1)

此示例可帮助您理解

// Use connect method to connect to the server
var invokeDatabase = function(callback) {
    MongoClient.connect(url, function(err, db) {
        //assert.equal(null, err);
        if(err) {
            console.log("Unable to connect database");
            callback(err, null);
            return;
        }
        console.log("Connected successfully to database server");

        findDocuments(db, function() {
            findDocumentsFiltered(db, function(err, data) {
                callback(err, data);
                db.close();
            });
        });
    });
};

//Added for demo. Here users is collection 
var findDocumentsFiltered = function(db, callback) {
    db.collection('users').find({}).toArray(function(err, userList) {
        callback(err, userList);
    });
};

//routes
app.get('/', function(req, res) {
    console.log("Someone connected.")
    invokeDatabase(function(err, data) {
        if(err)
            res.status(500).json({error: err});
        else
            res.json(data);
    }))
        //res.send('Welcome G')
})