TypeError:Grid不是构造函数。 Mongodb节点驱动程序

时间:2017-12-16 11:48:28

标签: node.js mongodb gridfs node-mongodb-native

我正在学习使用mongdb gridfs和nodejs驱动程序。我第一步陷入困境。

var MongoClient = require('mongodb').MongoClient;
var Grid = require("mongodb").Grid;

MongoClient.connect("mongodb://localhost:27017/kkdb", function(err, db) {
   if(err) return console.log("error in connection:>>>>>>>>>>>>>>> ", err); 

   var grid = new Grid(db, 'fs');
   var buffer = new Buffer("Hello world");

   grid.put(buffer, {metadata:{category:'text'}, content_type: 'text'}, function(err, fileInfo) {
       if(!err) {
           console.log("Finished writing file to Mongo");
       }
   });
});

当我运行此代码时,它会显示错误:TypeError: Grid is not a constructor

1 个答案:

答案 0 :(得分:0)

如果您使用的是Node.js MongoDB驱动程序的2.X版本,则肯定会发生这种情况。

根据here

  

由于网格存储功能有限,网格对象已被删除。

您现在必须使用“ GridFSBucket”而不是“ Grid”

有关这种新的工作方式的文档可以在here

中找到

您也可以尝试使用“旧版GridStore”,但是由于不推荐使用它,并且无论如何都必须重写,因此建议您学习GridFSBucket方法。