gpt4 book ai didi

node.js - gridfs-stream 和 mongoose >= 4.11.0 连接设置

转载 作者:太空宇宙 更新时间:2023-11-03 23:24:21 24 4
gpt4 key购买 nike

我一直在使用带有以下设置的旧版本(<4.11.0)的 mongoose 的 gridfs-stream:

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

使用这些设置一切都可以正常工作。更新到 mongoose 4.11.11 后,mongoose 连接设置应更改为(第 3 行):

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

但是,现在 mongoose.connection.db 不再定义。应该如何更改上面的代码才能使其再次工作?非常感谢。

最佳答案

我找到了一个利用 deasync 并对所有现有代码进行最少更改的解决方案。然而,它看起来并不理想,因此我们将不胜感激任何建议:

    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());

关于node.js - gridfs-stream 和 mongoose >= 4.11.0 连接设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46161187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com