MongoDB每次操作都需要连接吗?

3

我对mongodb非常陌生,但我希望在我的应用程序中使用它。我非常讨厌重复的代码,但是在了解如何在node.js中使用mongodb时,似乎有一种模式,即在进行任何CRUD操作之前,您都必须先连接。

官方文档示例:

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

我的问题是,是否可能创建一个中间件,使连接保持打开状态,这样您只需要调用insertDocument(在上面的示例中)即可?

最好使用mongoose.connect()并将其保存在配置文件中。这样你就可以在任何地方使用它。 - chirag
2个回答

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 作为中间件。连接只在全局范围内打开一次,然后您就可以在整个应用程序中使用它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接