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

Khu*_*hid 5 mongodb node.js 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");
       }
   });
});
Run Code Online (Sandbox Code Playgroud)

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

Fel*_*Dev 0

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

如此处记录的

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

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

可以在此处找到这种新方式的文档

您也可以尝试“Legacy GridStore”,但由于它已被弃用并且您必须重写,因此我建议学习 GridFSBucket 方式。