如何在gridfs-stream中使用monk发起的mongoDB实例?

时间:2018-03-01 12:49:05

标签: javascript mongodb gridfs-stream

我正在使用gridfs-stream。在文档中有一个mongodb原生DB的例子:

// 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

1 个答案:

答案 0 :(得分:0)

在这种情况下,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,而monk依赖于更新版本的驱动程序。我希望有些不兼容。只要注意风险并在测试中投入额外的时间。