MongoDB GridFS - 是文件名还是文件名

2024-04-29

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

我一直在尝试通过 GridFS 进行工作,参考https://github.com/jamescarr/nodejs-mongodb-streaming 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;
})();

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

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

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

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


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

文档位于

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB GridFS - 是文件名还是文件名 的相关文章

  • 在 iOS 中,http 204 响应返回空白页面,有办法阻止这种情况吗?

    以前可能有人问过这个问题 但我似乎找不到解决方案 所以如果是这种情况 我深表歉意 我正在开发一个使用express的简单节点应用程序 其中一个帖子路由返回 http 204 并发送它 下面是我的代码 router post id funct
  • Node.js 工作线程中的 I/O 性能

    下面是一个工作线程示例 在本地计算机上同步 I O 大约需要 600 毫秒 const fs require fs const isMainThread Worker parentPort workerData require worker
  • 使用 Bluebird.js 和 Twitter 流的 Promise 和流

    我对 Promises 和 Node 非常陌生 并且对在流中使用 Promise 感到好奇 我可以承诺直播吗 使用 Bluebirdjs 和 Twit 模块 我有以下内容 var Twit require twit var Promise
  • 谷歌应用程序引擎nodejs本地开发

    有没有办法在本地运行我的nodejs应用程序 以便我可以模拟在生产App Engine中运行的应用程序而无需部署它 由于某种原因 我的应用程序在 Google App Engine 中的行为与我的本地主机不同 我厌倦了每次为了查看是否存在错
  • 如何从许多相似的名称中标准化城市名称

    我从第三方 API 获取城市名称 该 API 不返回规范化的城市名称 例如 有时其San Francisco 有时它的San Francisco CA 有时它的San Francisco USA 我不需要街道地址等 我只需要将城市名称规范化
  • 加密 mongodb 中的密码字段

    我有以下代码 它插入userName and password进入数据库 但密码以纯文本格式存储 我的意思是 当我查看数据库时 我可以看到插入的密码 我想存储password in encrypted format MongoClient
  • ExpressJS - 提供通用 Nuxt 应用程序和 AngularJS SPA

    我有一个具有以下结构的博客项目 服务器 用 Node Express 编写 管理员 AngularJS SPA public AngularJS SPA 目前 管理部分和公共部分具有相同的域 但管理部分使用不同的子域 这允许我在 Expre
  • 当字段不为空时创建部分索引

    我正在尝试在字段上创建部分索引 但仅当该字段不为空时 换句话说 我希望能够让许多文档能够存储 null 但对于在字段中实际具有值的文档 我希望该值是唯一的 这是我尝试使用的代码 db account createIndex email 1
  • mongoDB白名单IP

    我看到类似的帖子 但没有一个能帮助我解决我的问题 在学习了从头开始构建 MERN 应用程序的 Udemy 教程后 我陷入了 mongoose 连接的困境 这是我的 index js 代码 const express require expr
  • 关于 Node.js Promise then 和 return?

    我对承诺感到困惑 I use 那么就答应没有返回像这样 new Promise resolve reject gt resolve 1 then v1 gt console log v1 new Promise resolve reject
  • 在 MongoDb 上序列化仅获取属性

    使用 C 6 我可以写 public class Person public Guid Id get public string Name get public Person Guid id string name Id id Name n
  • 使用 node.js 获取正在运行的进程的 stdin/stdout

    我正在从节点启动一个进程child process spawn http nodejs org docs v0 6 1 api child processes html child process spawn处理 process stdou
  • 如何从 NodeJs 调用 python 脚本

    我需要在 NodeJs 中调用这个 python 脚本 Read py usr bin env python coding utf8 import RPi GPIO as GPIO import MFRC522 import signal
  • Windows 上的 Node.js 和 Express

    今晚 我决定尝试在我的 Windows 7 计算机上使用 Express 构建一个简单的 Node js 应用程序 安装过程还算顺利 但 Express 拒绝配合 以下是我已采取的步骤 使用以下位置提供的 MSI 安装 Node jshtt
  • isModified 并预保存 mongoose...Nodejs

    您好 我只想在密码更改时使用散列密码保存 因此我在预保存中使用了 isModified 函数 但即使我更改了密码 它也总是返回 false 我尝试这样做的原因是因为我不想在更改其他属性时更改并保存我的密码 router post chang
  • npm install 没有拉入 devDependency

    我有 npm v 1 2 32 当我跑步时 npm 安装 mongo migrate 它不安装 mongodb 这是一个 devDependency 我究竟做错了什么 虽然与这个问题没有直接关系 但有些人可能有兴趣知道如果环境变量NODE
  • Node.js + Socket.io + Windows 7 / 8?

    我一直在到处寻找 但似乎找不到解决方案 是否可以在 Windows 7 上的 Node js 上安装 Socket io 如果没有 是否有某种替代方案 或者您知道未来有任何 Windows 支持吗 通常使用 Node js 包管理器 但是我
  • npm install 的 --save 选项是什么?

    我看到一些教程 其中命令是 npm install save 什么是 save选项是什么意思 更新 npm 5 As of npm 5 0 0 http blog npmjs org post 161081169345 v500 安装的模块
  • 如何从 Node.js 中的 Http.IncomingMessage 检测 http 与 https

    给定一个Http IncomingMessage由一个创建http s Server为了响应请求 检测请求是否是 http 与 https 的正确 推荐方法是什么 一些我不知道的随机想法是否正确 检查端口 seems wrong might
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us

随机推荐

  • 如何在网格视图中突出显示文本的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 如何突出显示某个单词 https stackoverflow com questions 9546761 how can i highlight a word 我有一个网格视图和一个文本框 用于从列中
  • 使用java读取行并映射过滤数据[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions publi
  • 安卓应用安全

    我想开发一个用户数据非常敏感的应用程序 我是开发新手 所以不确定以下内容 技术对于安全或高效来说是必要的 请留下您的评论 提前致谢 为了额外的安全性 我们可以避开市场 游戏商店 并将应用程序安装在个人设备上 它会让它更安全吗 我必须在设备上
  • BASH - 随机排列文件中字符串中的字符

    我有一个文件 filename txt 具有以下结构 gt line1 ABC gt line2 DEF gt line3 GHI gt line4 JKL 我想打乱字符串中的字符not开始机智 gt 输出将 例如 如下所示 gt line
  • 使用 Powershell 查找字符并重命名文件名

    我的目录中有大量具有此类命名约定的文件 1050 14447 Letter Extension pdf 等 我需要删除第二个下划线之前的所有字符 包括第二个下划线 因此新文件名将是 Letter Extension pdf 如何相应地迭代单
  • 在 Scala 中有效地重复字符/字符串 n 次

    我想更有效地执行以下操作 def repeatChar char Char n Int List fill n char mkString def repeatString char String n Int List fill n cha
  • 删除特定标签内的内容

    使用 Rails 3 2 我想删除其中的所有文本 b 和标签 但我设法找到只剥离标签的方法 string p b Section 1 b Everything is good br b Section 2 b All is well p s
  • 我应该提交yarn.lock 文件吗?它的用途是什么?

    纱线创造了一个yarn lock执行后的文件yarn install 应该将其提交到存储库还是忽略 它是做什么用的 是的 你应该检查一下 看看从 npm 迁移 https yarnpkg com en docs migrating from
  • 更新 Laravel 路由文件没有效果

    我正在尝试创建一个视图来显示数据库中的数据 但我发现我的路线文件不再执行任何操作 目前我正在尝试让测试功能正常工作 但是当我去 test它只是说 找不到网页 其他路线有效 即使我删除所有内容并保存文件 所有其他路线都可以工作 我努力了art
  • 在 WildFly 10 中添加 jar 作为部署

    有没有办法 我们可以将 jar 部署为库 部署WildFly 10就像我们可以做到的那样weblogic服务器 或者我们可以将 jar 放在服务器的任何文件夹中并将这些依赖项定义为provided 我得到了什么部署方式jars on Wil
  • 如何选择表中包括 colspan 的列?

    假设我有一个如下所示的表 table tr td td td td td td td td td td td td tr tr td td td td td td td td tr tr td td td td td td td td tr
  • 是否可以知道函数是否使用空返回语句?

    是否有可能知道函数是否使用空 return 语句还是简单地不使用 return 关键字 例如 function noReturn function useReturn return console log noReturn undefine
  • Subversion:暂存文件以显式提交?

    我已经非常习惯 git 的方式 即必须接触要提交的每个文件 并且在执行此操作时仔细检查差异 现在在工作中我必须使用 svn 并且我总是不小心提交一些东西 有没有办法让 subversion 的行为像 git 一样 因为我必须明确告诉每个文件
  • Bash,在包含子目录的目录中的每个 .jpg 文件上运行脚本

    我有一些工作代码 它非常简单 它复制每个 jpg 文件 将其重命名为 1 jpg 不用担心 for i in jpg do cp i i jpg 1 jpg done 我如何运行它 以便它适用于目录中的每个文件 该目录的子目录中的每个文件
  • Python TDD 目录结构

    Python 中是否有用于 TDD 的特定目录结构 教程讨论测试的内容 但不讨论测试的位置 通过研究 Python Koans 怀疑它是这样的 project main program py This has main method sta
  • window.open 未应用给定的高度参数

    我在链接上有一个 onclick 事件 其中执行了 url 的 window open 我还为其提供了自定义宽度和高度 但不接受它 并且弹出窗口以不同的宽度和高度显示 有人可以指导吗我这一定是哪里出了问题 我的 window open 语法
  • 如何禁用 Symfony 2 分析器栏?

    它没有添加任何内容 而且使页面变慢 我希望它消失 别问 网站上几乎没有关于探查器的信息 应用程序配置中也没有任何内容 这个设置是在app config config dev yml web profiler toolbar true int
  • 绑定到外部库中基本方法的方法无法处理“之间”的新虚拟方法

    假设我有一个库 版本 1 0 0 包含以下内容 public class Class1 public virtual void Test Console WriteLine Library Class1 Test Console Write
  • 为什么 min() (或 max())不能处理无单位的 0?

    我四处寻找这个问题的答案 但找不到任何有用的信息 我正在尝试设置topCSS 中元素的属性max 0 120vh 271px 我尝试过几种变体 top max 0 120vh 271px top max 0 120vh 271px top
  • MongoDB GridFS - 是文件名还是文件名

    请看下图 来自http mongoexplorer com http mongoexplorer com 我一直在尝试通过 GridFS 进行工作 参考https github com jamescarr nodejs mongodb st