在Node中将insert插入到MongoDB的位置

时间:2016-12-24 00:51:48

标签: javascript node.js mongodb scope closures

我正在尝试构建一个非常简单的脚本,使用node将内容插入到mongo中。这是我到目前为止所拥有的。我拿出所有错误捕获/日志记录以显示简单的代码

var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:27017/dbName'; 
var db;
var collection;

MongoClient.connect(url, function (err, db) {
    collection = db.collection('myCollection');
    insertFunction();
});

function insertFunction(){
    var entry = {name: 'testUser1'};  // in final be function returning entry
    collection.insertOne(entry);
}

此代码抛出以下错误:

  

TypeError:无法读取null

的属性'collection'

让我非常困惑。通常的规则是,如果在闭包内定义变量(db)而不使用var进行,则会给出全局范围。那么为什么集合在处理函数中使用时会变成null

0 个答案:

没有答案