我一直在看这些例子:

http://mongodb.github.io/node-mongodb-native/2.2/api/

但是我对如何在回叫之外访问数据库感到困惑。 MongoClient.connect似乎未返回任何内容,我尝试在connect调用之外声明一个var,然后让回调修改它,但这似乎也不起作用。我应该怎么做呢?

最佳答案

在connect的回调中,只需不使用“ var”关键字即可声明一个全局变量。

注意:由于javascript是异步的,因此不保证在使用外部变量之前不会运行回调。
使用超时通常是可行的。

示例节点文件:

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/test',connectCallback);
function connectCallback(err, db) {
  col = db.collection('persons');
  console.log('Connected to mongodb');
  }
setTimeout(function() {
col.save( {task:"Access db outside callback",result: "Success"}, (err, result) => {
        if (err)
            return console.log(err)
        console.log(result)
        })
},1000)


Mongo Shell输出:

node.js - 如何使用回叫外的mongo客户端访问 Node 中的mongodb-LMLPHP

关于node.js - 如何使用回叫外的mongo客户端访问 Node 中的mongodb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40035141/

10-12 00:16
查看更多