node.js - MongoDB GridFS - 是文件名还是文件名

标签 node.js mongodb gridfs

请看下面的图片,来自http://mongoexplorer.com/ :

http://mongoexplorer.com/

我一直在尝试通过 GridFS 进行工作,引用 https://github.com/jamescarr/nodejs-mongodb-streaming 。我上传的文件很好地返回,并且通过以下 get 函数返回的流看起来是正确的。

var gridfs = (function () {
    function gridfs() { }
    gridfs.get = function (id, fn) {
        var db, store;
        db = mongoose.connection.db;
        id = new ObjectID(id);
        store = new GridStore(db, id, "r", {
            root: "fs"
        });
        return store.open(function (err, store) {
            if (err) {
                return fn(err);
            }
            return fn(null, store);
        });
    };
    return gridfs;
})();

使用http://mongoexplorer.com/我将文件上传到 GridFS 进行测试,但当我使用上面的 Node 代码检索它们时,它们似乎已损坏。

就在那时我注意到了文件名/文件名的事情。在这里查看 /node_modules/mongodb/lib/mongodb/gridfs/gridstore.js 我看到对文件名的引用带有小写“N”,但在我的 GridFS 中,它的文件名带有大写“N”。

好吧,为了好玩,我在 GridFS 中将其更改为小写,但在检索使用 http://mongoexplorer.com/ 上传的文件时,流(上面的 Node 代码)中仍然出现一些损坏。 。 单击 http://mongoexplorer.com/ 中的另存为... ,但是完美地恢复了我的罚款。

回到我的问题,(因为我的测试似乎没有证明任何事情,)我想知道它是什么:带有小写“N”的文件名,还是带有大写“N”的文件名?

最佳答案

请使用最新的 mongodb native 驱动程序,因为有大量针对 GridFS 的修复,在测试 GridFS 作为流的使用的驱动程序的 github 目录中也有大量示例。

文档位于

http://mongodb.github.com/node-mongodb-native

总的来说,我想说,如果您使用核心功能,请坚持使用驱动程序,就像您使用驱动程序一样使用它,这种方式可以解释您的损坏问题。

关于node.js - MongoDB GridFS - 是文件名还是文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10262858/

相关文章:

laravel - MongoDB 在数组中搜索嵌套对象

node.js - 如何设置 GridFS 与 node-mongodb-native 驱动程序一起使用的前缀/集合?

python - pymongo 从 GridFS 中获取图像

javascript - 如何在 Puppeteer 中查找 document.activeElement

javascript - 弄乱导入文件路径

Mongodb 分片 - 没有这样的命令 : 'addShard'

python - 带有 python 的 mongo gridfs

javascript - Socket.io,无法从客户端发出自定义事件

javascript - Karma Tast Runner 可以在 Node js v0.12.0 上运行吗?

javascript - MongoDB引用错误: Schema is not defined