0

我正在使用gridfs-stream. 在文档中有一个 mongodb 本机数据库的示例:

// create or use an existing mongodb-native db instance.
var db = new mongo.Db('yourDatabaseName', new mongo.Server("127.0.0.1", 27017))
// make sure the db instance is open before passing into `Grid`
db.open(function (err) {
  if (err) return handleError(err);
  var gfs = Grid(db, mongo);
})

...而且我正在使用monk,它也是基于 mongodb 原生驱动程序的。

不幸的是,我对 mongoDB 的实现不是很熟悉,所以我不太确定,如果我也可以使用带有 gridfs-stream 的和尚连接的数据库:

var db = monk('mongodb://localhost:27017/yourDatabaseName')
var gfs = Grid(db, mongo) // <-- what is mongo in this context?

...通过这种尝试,我不知道从哪里得到mongo

4

1 回答 1

1

在这种情况下,mongo 只是 mongodb,如下所示:

const mongo = require('mongodb'),
      monk = require('monk'),
      monkMgr = monk('mongodb://localhost:27017/yourDatabaseName');

monkMgr.on("open", db => {
    const gfs = Grid(db, mongo);
});

似乎 Grid 使用了长期弃用new mongo.Db(的而不是MongoClient.connect僧侣依赖于更新版本的驱动程序。我预计会有一些不兼容。请注意风险并在测试上投入额外的时间。

于 2018-03-23T13:38:05.897 回答