Node.js gridfs流和猫鼬>;=4.11.0连接设置
我一直在将gridfs stream与旧版本一起使用(我发现了一个解决方案,该解决方案使用了deasync,并且对我现有的所有代码进行了最小的更改。但是,它看起来并不理想,因此任何建议都将非常感谢:Node.js gridfs流和猫鼬>;=4.11.0连接设置,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我一直在将gridfs stream与旧版本一起使用(我发现了一个解决方案,该解决方案使用了deasync,并且对我现有的所有代码进行了最小的更改。但是,它看起来并不理想,因此任何建议都将非常感谢: var grid = require("gridfs-stream"); var mongoose = require("mongoose"); var deasync = require("deasync"); //Connect to mongodb m
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());
谢谢你的回答。事实上,现在connection.db只有在建立连接后才被设置。你不必强制使用deasync,因为你可以使用它:
mongoose.connect(connectionString,{useMongoClient:true})。然后((mongoInstance)=>{connDb=mongoInstance.connection.db})
mongoose.connect(connectionString, {useMongoClient: true});
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());