2017-09-11 9 views
1

私は、次の設定でマングースの古いバージョン(< 4.11.0)でgridfsストリームを使用していた:gridfsストリームとマングース> = 4.11.0接続設定

var grid = require("gridfs-stream"); 
    var mongoose = require("mongoose"); 
    mongoose.connect(connectionString); 
    grid.mongo = mongoose.mongo; 
    var gfs = grid(mongoose.connection.db); 

すべてがこれらと正常に動作します設定。

mongoose.connect(connectionString, {useMongoClient: true}); 

がしかし、今ではもはやmongoose.connection.dbに定義されています。アップデートは4.11.11をマングースした後、マングースの接続設定は(3行目)に変更する必要があります。上記のコードを再び動作させるには、どのように変更する必要がありますか?どうもありがとう。

答えて

0

デアシンクを使用し、既存のすべてのコードに最小限の変更を加えたソリューションが見つかりました。しかし、それは理想的ではないので、どんな提案も非常に高く評価されるので、どんな提案も高く評価されるでしょう:

var grid = require("gridfs-stream"); 
    var mongoose = require("mongoose"); 
    var deasync = require("deasync"); 

    //Connect to mongodb 
    mongoose.Promise = global.Promise; 
    mongoose.connect(connectionString, {useMongoClient: true}); 

    //Get the connection setting 
    var getConnDb = function() { 
     var connDb; 
     mongoose.connection.then(function (conn) { 
      connDb = conn.db; 
     }); 
     while (connDb === undefined) { 
      deasync.runLoopOnce(); 
     } 
     return connDb; 
    }; 

    //Set gridfs-stream connection 
    grid.mongo = db.mongo; 
    var gfs = grid(getConnDb()); 
関連する問題