mongoUtil.js
を作成できます mongoに接続し、mongo dbインスタンスを返す機能を備えたモジュール:
const MongoClient = require( 'mongodb' ).MongoClient;
const url = "mongodb://localhost:27017";
var _db;
module.exports = {
connectToServer: function( callback ) {
MongoClient.connect( url, { useNewUrlParser: true }, function( err, client ) {
_db = client.db('test_db');
return callback( err );
} );
},
getDb: function() {
return _db;
}
};
これを使用するには、app.js
でこれを行います :
var mongoUtil = require( 'mongoUtil' );
mongoUtil.connectToServer( function( err, client ) {
if (err) console.log(err);
// start the rest of your app here
} );
そして、別の.js
のように、どこか別の場所でmongoにアクセスする必要がある場合 ファイル、あなたはこれを行うことができます:
var mongoUtil = require( 'mongoUtil' );
var db = mongoUtil.getDb();
db.collection( 'users' ).find();
これが機能する理由は、モジュールがrequire
である場合、ノードで 'd、それらは一度だけロード/ソースされるので、_db
のインスタンスは1つだけになります。 およびmongoUtil.getDb()
常に同じインスタンスを返します。
コードはテストされていないことに注意してください。