2016-08-11 29 views
2

因此,我对mongodb非常新,我希望在我的应用程序中使用它。现在我HATE多余的代码,但阅读如何使用mongodb与node.js似乎有一个模式,你总是必须连接之前进行任何CRUD操作。从官方文件mongodb是否需要连接每个操作

实施例:

MongoClient.connect(url, function(err, db) { 
    assert.equal(null, err); 
    insertDocument(db, function() { 
     db.close(); 
    }); 
}); 

我的问题是。是否有可能使中间件保持连接打开,所以你只需要拨打insertDocument(在上面的例子中)?

+0

更好地使用mongoose.connect()并将其保存在配置文件中。你可以在任何地方使用 – chirag

回答

3

是的,当然,只要保持db变量周围,直到你不再需要它不再做 - 然后调用close()

var mdb; 
MongoClient.connect(url, function(err, db) { 
    assert.equal(null, err); 
    mdb = db; 
    insertDocument(mdb, function() { 
     // ... 
    }); 
}); 

// do other stuff with mdb 
1

您还可以查看到你所说的中间件使用Mongoose

连接只打开一次(在全局范围内),然后您可以在整个应用程序中使用它。

相关问题