簡體   English   中英

Node.js將mongo連接添加到全局

[英]nodejs adding mongo connection to global

我在服務器啟動時將mongo連接添加到我的全局obj以從任何文件訪問它

// app.js
mClient.connect(mongoUrl, function(err, db) {
  global.mongo = db;
});

並像這樣使用它

// store.js  
global.mongo.collection(thisColl, function(err, collection) {
  if (err) return self.emit("error", "collection not found");

  collection.find(query, select).toArray(function(err, stores) {
    if (err || !stores) return self.emit("error", "result not found");

    return self.emit("done", stores);
    });
  });

但有時我得到的錯誤會獨自解決,我不知道如何

// Error
{"code":"InternalError","message":"Cannot call method 'collection' of undefined"}

我這樣做是因為它不會在每個請求上打開/關閉連接

我設法使它起作用,也許不是更好的方法,但是可行

// Create MongoDB connection
mClient.connect(mongoUrl, function(err, db) {
  global.mongo = db;
  // Start HTTP server  
  server.listen(4000, function() {
    console.log("%s listening at %s", server.name, server.url);
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM